Java 使用扫描仪识别整数和字符串,并在输入某个字符串时停止用户输入

Java 使用扫描仪识别整数和字符串,并在输入某个字符串时停止用户输入,java,string,integer,java.util.scanner,Java,String,Integer,Java.util.scanner,尝试使用扫描仪识别整数和字符串,并在输入某个字符串时停止用户输入 Scanner myObj = new Scanner(System.in); System.out.println("Enter number of students"); int numberof = myObj.nextInt(); 如果用户键入“end”,则扫描仪不再接受用户输入。我无法将行int numberoff=myObj.nextInt()放入;在循环或其他情况下,限制变量的作用域,因为我在代码的其余部分使用nu

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

Scanner myObj = new Scanner(System.in);
System.out.println("Enter number of students");
int numberof = myObj.nextInt();
如果用户键入“end”,则扫描仪不再接受用户输入。我无法将行int numberoff=myObj.nextInt()放入;在循环或其他情况下,限制变量的作用域,因为我在代码的其余部分使用numberof的值

您可以使用Scanner#next,然后根据需要解析整数。我不建议直接使用Scanner#nextInt

您可以使用Scanner#next,然后根据需要解析整数。我不建议直接使用Scanner#nextInt


如果用户键入“SuperCalifragilisticExpialidious”怎么办?提示:您将得到一个异常…如果用户键入“supercalifragilisticexpialidocious”怎么办?提示:您将得到一个异常……如果我使用该场景,则整数num的范围将受到限制,并且我需要在整个代码中访问它。@Kai如果我使用该场景,则整数num的范围将受到限制,我需要在整个代码中访问它。@Kai您可以随时在外部声明它
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);