使用扫描仪识别整数和字符串,如果输入了特定的字符串,则停止用户输入[重复]

问题描述 投票:0回答:1

尝试使用扫描仪识别整数和字符串,并在输入特定字符串时停止用户输入。

Scanner myObj = new Scanner(System.in);
System.out.println("Enter number of students");
int numberof = myObj.nextInt();

需要这样做,如果用户键入“ end”,则扫描仪不再接受用户输入。我不能把行int numberof = myObj.nextInt();在循环或其他东西中并限制变量范围,因为我在其余代码中都使用numberof的值。

java string integer java.util.scanner
1个回答
0
投票

您可以使用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);
© www.soinside.com 2019 - 2024. All rights reserved.