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;
}
したがって、このメソッドを 2 回目に呼び出すと、次のエラーが返されます。
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();
正常に実行され、 2 番目の呼び出しはheight = posNum();
エラーになる前に値を入力できません。
ありがとう