我正在java中进行数字猜测游戏。我希望应用程序在用户输入字符串而不是整数时输出一行。这是我的代码如下所示:无效类型文本保持打印
import java.util.Scanner;
import java.util.Random;
public class guessing_game {
static Scanner input = new Scanner(System.in);
static Random generator = new Random();
public static void main(String[] args) {
int number;
number = generator.nextInt(20);
System.out.println("Guess the number!");
game(number);
}
public static void game(int number) {
int inputStorage = 0;
boolean b = true;
while (b) {
if (input.hasNextInt()) {
inputStorage = input.nextInt();
if (inputStorage == number) {
System.out.println("You've won!");
b = false;
}
else {
System.out.println("Wrong number! Try again.");
}
}
else {
System.out.println("Only numbers! Try again.");
}
}
}
}
的问题是,当用户键入一个字符串,如一个字母,应用表明:只有数字!再试一次。应用程序不会停止一遍又一遍地打印此行。如何阻止此?
我该怎么做?我是Java的初学者,现在学习了一个星期... –
好吧,我已经开始工作了。我做了一个新的字符串,并将该字符串设置为用户输入的任何内容。然后我使用这一行:'int inputStorage1 = Integer.parseInt(inputString);'。然后通过使用catch/try和if语句,我可以使用它。你能向我解释为什么当我这样做时,它只显示“唯一的数字”吗?因为当我使用整数时,我的应用程序不会停止打印行。我的新应用程序:http://pastebin.com/8m4WsV0T –