这是我要实现的目标,在用户键入双精度数字时,请在按“ 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”
我的问题:如何从屏幕输入中删除小数点?
谢谢您的帮助。
答案 0 :(得分:0)
您可以使用正则表达式和eol锚替换end。通过“”
或者只是检查input.endsWith(“。”)