我正在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 –