这是我想要实现的,当用户输入双数字时,在按“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/