我班上最近了解了循环和随机数生成器,所以我想尝试创建一个你猜到两个骰子总和的游戏。在每个游戏结束时,我想要显示所有用户的猜测以及显示值是什么的一行。我的问题是显示用户最后输入的所有值。到目前为止,这是我的代码:
import java.util.Random;
import java.util.Scanner;
public class Dice2
{
public static void main (String[] args)
{
Scanner kb = new Scanner(System.in);
Random rn = new Random();
int roll1= rn.nextInt(6)+1;
int roll2= rn.nextInt(6)+1;
int sum = roll1 +roll2;
boolean retry = false;
System.out.print("Guess a number: ");
int guess = kb.nextInt();
kb.nextLine();
if (guess!=sum)
{
retry= true;
while (retry)
{
System.out.print("Wrong, enter again: ");
int newGuess = kb.nextInt();
retry = true;
if(newGuess==sum)
{
retry = false;
System.out.printf("You guessed: %4d%4d\n", guess,newGuess);
System.out.println("The number was: " + sum);
}
else
continue;
}
}
else
System.out.println("The number was " + sum);
}
}
我遇到的问题是当我试图显示用户猜到的所有数字时。我想显示用户的所有猜测,这就是我使用while循环的原因。但是我不确定如何显示用户猜测的所有输入。例如,如果正确的答案是8并且用户猜到2,3,4,5,6,8我希望能够显示如下内容:
You guessed: 2,3,4,5,6,8
The number was :8
据我所知,在while循环的每次迭代后,我都会覆盖newGuess变量,但是我不知道该怎么做才能显示用户猜到的所有数字。任何帮助或提示将不胜感激。
答案 0 :(得分:3)
如果您想要的只是一个包含用户猜测的字符串,请使用StringBuilder
。
StringBuilder builder = new StringBuilder();
builder.append(5);
builder.append(",");
builder.append(4);
builder.append(",");
builder.append(9);
System.out.println(builder.toString());
在while循环之前创建一个,然后每次循环都附加到它。
答案 1 :(得分:0)
您可以将猜测的值存储在Vector中。然后循环显示结果。