java - 从键盘输入时按退格键可删除多个字符

标签 java

这是我想要实现的,当用户输入双数字时,在按“Enter”之前,也许用户认为他们需要再次输入,因此按退格键是删除前一个字符的必要操作。 但是如果你删除第一个小数,它会同时删除小数点,我的老师说这会向用户显示可以是整数值。 我认为这个事件可能与“System.in”有关,但我仍然找不到。

这是我的主类代码:

    private static final Scanner sc = new Scanner(System.in);

    public static void main(String[] args) {
        try {
            System.out.print("Input: ");
            double result = Double.parseDouble(sc.nextLine().trim());
            System.out.println("Output : " + result);
        } catch (NumberFormatException e) {
            System.err.println("> INPUT MUST BE DOUBLE NUMBER...");
        }
    }

例如:在输出窗口中,输入“7.89”(不按 Enter 键,仍在输入中)。 当您按退格键输入时,将显示“7.8”,再按一次退格键,将显示“7”,此时会将“8”和小数点都删除。当按下回车键时输出为“7”

我的问题:如何删除屏幕输入中的小数点?

感谢您的帮助。

最佳答案

您可以使用正则表达式和 eol anchor 来替换 end 。通过“”

或者只是检查是否 input.endsWith(".")

关于java - 从键盘输入时按退格键可删除多个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58169691/

相关文章:

java - 如何在 Android 中进行搜索

java - 开关编译错误

java - android版本和解析错误

java - 如何从 java EXPORTED 项目 eclipse 访问文本文件

java - 如何在仍然与 java 8 兼容的情况下将库的源更新为现代 java 版本?

java - MDB 正在插入重复记录

java - 这是 Java 中桥接模式的正确实现吗?

java - 中继的蓝牙连接问题 - RxAndroidBle

java - 是什么阻止 Java 使用多种签名算法验证签名的 jar

java - 在 eclipse 中从 android 调用纯 java 代码(单独的项目)时出错