扫描程序代码,它会生成错误消息而不是崩溃

时间:2015-10-26 01:32:24

标签: java java.util.scanner

当用户尝试输入字符串而不是int时,我需要此代码来生成错误消息。我该怎么做呢?

  import java.util.Scanner;
    public class Testing {
      public static void main (String [] args){
        Scanner s = new Scanner(System.in);
        System.out.println("Please enter an int");
        input = s.nextInt();






      }
    }

2 个答案:

答案 0 :(得分:1)

使用循环。检查是否有int。如果没有显示消息。像,

Scanner s = new Scanner(System.in);
while (true) {
    System.out.println("Please enter an int");
    if (s.hasNextInt()) {
        input = s.nextInt();
        // ...
        break;
    }
    System.err.printf("%s isn't an int%n", s.next());
}

答案 1 :(得分:1)

检查用户是否使用int方法提供了正确的hasNextInt()

  • 如果验证正常,请使用nextInt()读取该值。
  • 如果值不是int,您可以使用next()来消费它(您不必真正使用该值,但您需要从扫描仪中取出它,以便您可以阅读其他值来自用户)。