【发布时间】:2015-10-14 16:42:52
【问题描述】:
我是Java 新手,正在制作一个猜谜游戏,用户必须在其中猜一个 0 到 50 之间的随机整数。
我正在尝试在游戏中添加一个猜测计数器,在“游戏结束”之前让用户最多 7 个 猜测 但是,计数器继续运行甚至高于7 尽管我的while循环。
如果这是一个重复的问题,我提前道歉,但是我确实看了一眼,并没有为我的代码找到一个好的答案
代码如下:
package guessinggame;
import java.util.Random;
import java.util.Scanner;
public class GuessingGame {
//Author TC13551
public static void main(String[] args) {
int NumberGuess = 0;
Random randomNumber = new Random();
int randomInt = randomNumber.nextInt(51);
System.out.println("Guess the number between 0 -50:");
int i = 0;
while( i < 8){
do{
Scanner UserGuess = new Scanner(System.in);
NumberGuess = UserGuess.nextInt();
if(NumberGuess < 0 || NumberGuess > 50){
System.out.println("Invalid Input, please enter numbers between 0 and 50");
}
else if(NumberGuess < randomInt){
System.out.println("Guess is too small.");
i ++;
System.out. println("You have made "+i +" guesses out of 7");
}
else if(NumberGuess > randomInt) {
System.out.println("Guess is too big.");
i ++;
System.out. println("You have made "+i +" guesses out of 7");
}
else if(NumberGuess == randomInt){
System.out.println("Correct! You win!");
System.out.println("It took you "+ i + " guesses.");
System.exit(0);
}
}while(randomInt != NumberGuess);
}System.out.println("Game over!");
System.out.println("All 7 Guesses used!");
System.exit(0);
}}
【问题讨论】:
-
至少提供您面临的问题...
-
另外,如果你得到随机数
0,你将永远无法创建输入,因为randomInt== 0和NumberGuess == 0
标签: java loops while-loop