我是一个java菜鸟,为了课堂作业我必须创建一个猜谜游戏。我还没有完成游戏,但在简化键盘输入数组时我想要一些建议。我能够随机创建数组" 5"数字,但我不知道如何以相同的方式为随机数简化键盘输入的数组。
以下是我需要建议的部分:
Scanner input = new Scanner(System.in);
Random number = new Random();
int x,y,z,a,b;
x=number.nextInt(9); //The 9 limits the randomized number to values between between -1 & 10
y=number.nextInt(9);
z=number.nextInt(9);
a=number.nextInt(9);
b=number.nextInt(9);
int secretNum[] = {x,y,z,a,b};
int numOfGuess = 3;
boolean win = false;
System.out.println("Try to guess the five digit number");
{
while (win || numOfGuess > 0)
{
int guess[]=new int[5];
guess[0]=input.nextInt(9);
guess[1]=input.nextInt(9);
guess[2]=input.nextInt(9);
guess[3]=input.nextInt(9);
guess[4]=input.nextInt(9);
numOfGuess--;
答案 0 :(得分:0)
首先,您可以简化从复杂方法生成的数字到:
Random rand = new Random();
int randomNum = rand.nextInt((max - min) + 1) + min;
如果设置max = 99999且min = 10000,它将为您提供一个随机的5位数字。
为了接受用户输入,你可以更好地使用
Scanner scan = new Scanner(System.in);
guess = scan.nextLine();
然后使用if语句查看该数字是否在5位数限制内。
就循环而言,注释建议使用for循环而不是while循环。遵循他的建议会好得多。即。
for (int i=0;i<maxGuesses;i++)
Listen for input
If correct, set won=1 break
else do nothing
end for loop
if won=1 Print you won
Else print You suck at guessing 5 digit numbers
答案 1 :(得分:0)
简单的代码通常是最好的方法:
在伪代码中:
secret = 10000 + number.nextInt(90000);
for (int i = 0; i < numOfGuess; i++) {
read guess (a single int)
if guess == secret then user wins (and exit)
}
user loses