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

时间:2019-09-30 14:11:39

标签: java

这是我要实现的目标,在用户键入双精度数字时,请在按“ Enter”之前,也许用户认为他们需要再次键入,所以按Backspace键是删除前一个字符的必要操作。 但是,如果您删除第一个小数位,它将同时删除小数点,我的老师说这将向用户显示可以是整数值。 我认为该事件可能与“ 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”

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

谢谢您的帮助。

1 个答案:

答案 0 :(得分:0)

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

或者只是检查input.endsWith(“。”)