【发布时间】:2023-03-24 01:02:01
【问题描述】:
我试图只接受来自用户的数字。如果他们输入字母,此代码可用于向他们提供错误消息。但是,如果他们按 Enter 键或只是空格,则它不起作用。我尝试将一个名为 test 的字符串初始化为 null,然后设置 scnr.nextLine() = test,然后检查 test 是否为空,但是当我这样做时,我不明白如何让程序的其余部分正常运行.扫描仪对我来说非常棘手。请帮忙!
double mainNumber = 0;
System.out.print("Enter a number: ");
if (scnr.hasNextDouble() ){
mainNumber = scnr.nextDouble();
System.out.println(mainNumber);
scnr.nextLine();
}
else {
System.out.println("Sorry, please enter a number.\n");
scnr.nextLine();
}
【问题讨论】:
-
该程序的目的是我将存储在 mainNumber 中的值与它进行计算,然后就结束了。
-
定义“数字”...有整数、小数、十六进制/八进制/指数/..格式化数字、负数、复数、无理数等。
-
我在this thread 中找到了对
Console#echo(boolean)的引用,并且该(私有)方法关闭了用户输入回显。有了它,您可以为控制台编写自己的输入掩码。
标签: java