尝试使用扫描仪识别整数和字符串,并在输入特定字符串时停止用户输入。
Scanner myObj = new Scanner(System.in);
System.out.println("Enter number of students");
int numberof = myObj.nextInt();
需要这样做,如果用户键入“ end”,则扫描仪不再接受用户输入。我不能把行int numberof = myObj.nextInt();在循环或其他东西中并限制变量范围,因为我在其余代码中都使用numberof的值。
您可以使用Scanner#next,然后根据需要解析整数。我不建议直接使用Scanner#nextInt。
Scanner sc = new Scanner(System.in);
do {
System.out.println("Enter number of students");
String next = sc.next();
if (next.equals("end")) break;
else {
try {
int num = Integer.parseInt(next);
} catch (NumberFormatException e) {
System.out.println("Please enter a valid input");
}
}
} while (true);