在java中使用hasNextInt()

时间:2016-03-04 16:17:01

标签: java

我是初学者,我对使用hasNextInt()感到困惑。如果它检查输入,那么我们是否应该后要求用户输入?但是,在下面的给定代码中,它与if语句一起使用。请指教。

import java.util.Scanner;
public  class Test {
    public static void main(String[] args) {
        Scanner userInput = new Scanner(System.in);

        System.out.println("Enter your number");
        if (userInput.hasNextInt()) {
            int numberEntered = userInput.nextInt();
            System.out.println("You entered an integer");
        } else {
            System.out.println("you didn't enter an integer");
        }
    }
}

2 个答案:

答案 0 :(得分:3)

根据http://www.tutorialspoint.com/java/util/scanner_hasnextint.htm

  

如果是下一个,java.util.Scanner.hasNextInt()方法返回true   此扫描器输入中的标记可以解释为int值   使用nextInt()方法的默认基数。扫描仪没有   超越任何输入。

因此,当用户按下“Enter”时将调用Scanner,然后它将评估用户提供的下一个输入是否为int。

答案 1 :(得分:1)

你用它来测试用户的输入,所以你确定当你调用nextInt时你不会有异常,因为输入不是int,它是' s也没有向前移动光标:

Scanner scanner = new Scanner(System.in);
if(scanner.hasNextInt()){
    System.out.println(scanner.nextInt());
}