我是初学者,我对使用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");
}
}
}
答案 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());
}