如何告诉我的if语句只接受整数?

Sin*_*bar 0 java int if-statement

我希望我的程序告诉用户如果他输入一个非整数,他应该再试一次,而不是像现在一样终止整个main方法.问题部分的伪代码:

int integer = input.nextInt();
If (user types in a non-integer) { 
  ("you have entered a false value, please retry");
  then let's user enter int value
else {
  assign nextint() to integer and continue
}
Run Code Online (Sandbox Code Playgroud)

ass*_*ias 8

可以使用一个while循环重新执行的代码部分,直到用户输入一个适当的整数值.

do {
    input = read user input
} while(input is not an integer)
Run Code Online (Sandbox Code Playgroud)

看来你正在使用a Scanner,所以你可以使用这个hasNextInt方法:

while (!input.hasNextInt()) {
    let user know that you are unhappy
    input.next(); //consume the non integer entry
}

//once here, you know that you have an int, so read it
int number = input.nextInt();
Run Code Online (Sandbox Code Playgroud)