我正在做一个家庭作业,做一个猜谜游戏。我已经让这部分工作,但我们必须验证输入。我尝试过使用hasnextint,但是我不断得到一个错误,说“int不能被取消引用”,并指向“!猜猜看。有“下一个”代码。
我尝试了很多次迭代,但仍然得到相同的错误。我包含的代码只是我最近的一次尝试。
如何让hasnextint工作,或者如何验证输入?
import java.util.Scanner;
public class GuessNumber {
public static void main(String[] args) {
int num = (int) (Math.random() * 101);
Scanner input = new Scanner(System.in);
System.out.println("Welcome to my Guessing Game!");
int guess = -1;
//Loop goes as long as guess doesn't equal num
while (guess != num) {
System.out.print("Guess a number between 1 and 100: ");
guess = input.nextInt();
//Validates input
while (!guess.hasNextInt()) {
System.out.println("Invalid response, try again.");
in.next();
}
if (guess == num)
System.out.println("Correct!");
else if (guess < num)
System.out.println("Your guess was too low");
else
System.out.println("Your guess was too high");
}
}
}
2条答案
按热度按时间oxiaedzo1#
如果您想解析数字,可以使用integer.parseint()方法,如图所示。此外,您还错误地使用了hasnextint()。您也没有在任何变量中存储in.next()值。
llew8vvj2#
我修正了密码:
如果用户猜到了游戏结束时使用的数字
break
在while (!guess.hasNextInt())
你用的是一个整数,除了扫描器input