private static int posNum() {
Scanner scan = new Scanner(System.in);
int input = 0;
boolean error;
if (scan.hasNextInt()) {
input = scan.nextInt();
error = input <= 0;
} else {
28 scan.next();
error = true;
}
while (error) {
System.out.print("Invalid input. Please reenter: ");
if (scan.hasNextInt()) {
input = scan.nextInt();
error = input <= 0;
} else {
scan.next();
error = true;
}
}
scan.close();
return input;
}
因此,第二次调用此方法将返回以下错误。
Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at q2.CylinderStats.posNum(CylinderStats.java:28)
at q2.CylinderStats.main(CylinderStats.java:62)
第一个调用rad = posNum();
运行良好,然后第二个调用运行,height = posNum();
不允许在错误发生之前输入值。
谢谢
打电话时next
,应检查扫描仪是否有一个。
if(scan.hasNext())
scan.next();
根据Scanner#next的
Java文档
NoSuchElementException如果没有更多标记可用
您可以如下更改方法
private static int posNum(Scanner scan) {
int input = 0;
boolean error = false;
if (scan.hasNext()) {
if (scan.hasNextInt()) {
input = scan.nextInt();
error = input <= 0;
} else {
scan.next();
error = true;
}
}
while (error) {
System.out.print("Invalid input. Please reenter: ");
if (scan.hasNextInt()) {
input = scan.nextInt();
error = input <= 0;
} else {
if (scan.hasNext())
scan.next();
error = true;
}
}
return input;
}
然后像下面这样称呼它
Scanner scan = new Scanner(System.in);
int i = posNum(scan);
System.out.println(i);
int j = posNum(scan);
System.out.println(j);
问题内容: 我有一个具有以下依赖关系的层次结构: 里面还有其他依赖项,但我不会走那么远,因为看来我的错误发生的时间早得多。与该依赖关系图相对应,我具有以下Spring配置: 在应用程序的顶层,我将运行: 在进行调试时,我发现初始化成功。。。有些。在完全解析并注入之前,我得到以下信息: 我一直在追溯它,这是我的堆栈跟踪中唯一的类。 删除Java和XML中的所有三个构造函数参数都可以解决此问题,但是引
我不知道如何为所有文件类型添加自定义元数据,如txt,doc,docx,xls,xlsx,ppt,pptx,pdf等。我已经尝试使用文件类setAttribute()方法为txt文件添加自定义元数据,但我得到了错误。 我没有得到我要错的地方...我得到了下面的错误
为什么程序不起作用?当我在第一个问题上输入'1',然后在第二个问题上输入一些东西时,出现了一个红色文本:(程序没有完成,但它应该能工作,不是吗?) 线程“main”Java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:0在Java.lang.String.Charat(String.Java:658)在javaApplication2.javaAp
我试图按照https://docs.angularjs.org/tutorial的教程操作,但在运行该命令时出错 Angulal-PhoneCat@0.0.0 postinstall c:\git\Angulal-paractions\Angulal-PhoneCat bower install Angulal-PhoneCat@0.0.0update-webdriver C:\git\Angul
问题内容: 我试过下面的代码 我正在 谁能帮我解决这个问题? 问题答案: 简单的解决方法是将List传递到的构造函数中。 例如: 响应: 真删除标志 集合[2,3,4]
问题内容: 我对Go真的很陌生,su只在这里忍受我。我正在尝试使用以下代码编写将mysql数据加载到Redis集群的代码:redis-go- cluster , load2redis 这是代码。它有点长,请在这里忍受。 当我执行它时,出现以下异常: 有人可以向我解释我在做什么错吗?我将不胜感激。 问题答案: 如前所述,不适用于地图。这是您可以解决它的一种方法。 Do方法映射到Redis命令集,并且