-1

我的班级最近学习了循环和随机数生成器,所以我想尝试创建一个游戏,让你猜两个骰子的总和。在每场比赛结束时,我想显示所有用户的猜测以及显示值是什么的一行。我的问题是显示用户最后输入的所有值。到目前为止,这是我的代码:

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 变量,但是我不确定该怎么做才能显示用户猜到的所有数字。任何帮助或提示将不胜感激。

4

2 回答 2

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 循环之前创建一个,然后每次通过循环附加到它。

于 2013-05-15T00:11:00.887 回答
0

您可以将猜测的值存储在 Vector 中。然后循环遍历它以显示结果。

于 2013-05-15T00:11:56.910 回答