Java 来自循环的输出出现问题

Java 来自循环的输出出现问题,java,Java,我正在创建一个类,它滚动三个骰子5000次,并计算所有三个骰子滚动1的次数。我的循环是正确的,因为输出继续显示满足此条件的次数的百分比,但它最终会打印输出中所有5000卷的每次迭代 (例如,三个模具轧制三次的次数为3次。 三个模具滚动三次的次数是三次。 三个模具滚动三次的次数是三次。 三个模具滚动三次的次数为4次。) 我只想要电话号码。我尝试使用break,这会把计算搞砸,还创建了一个新变量(result)并将其实例化为计数器的值,但这也不起作用。这是解决问题的主要方法 public class

我正在创建一个类,它滚动三个骰子5000次,并计算所有三个骰子滚动1的次数。我的循环是正确的,因为输出继续显示满足此条件的次数的百分比,但它最终会打印输出中所有5000卷的每次迭代

(例如,三个模具轧制三次的次数为3次。 三个模具滚动三次的次数是三次。 三个模具滚动三次的次数是三次。 三个模具滚动三次的次数为4次。)

我只想要电话号码。我尝试使用break,这会把计算搞砸,还创建了一个新变量(result)并将其实例化为计数器的值,但这也不起作用。这是解决问题的主要方法

public class PairOfDice {

    public static void main(String[] args) {


           PairOfDiceTwo die1, die2, die3;
           int sum1 = 0, sum2 = 0, sum3 = 0, counter1, b, result;


           die1 = new PairOfDiceTwo();
           die2 = new PairOfDiceTwo();
           die3 = new PairOfDiceTwo();

           counter1 = 0;
           for (int c = 0; c < 5000; c++)
           {
               die1.roll();
               die2.roll();
               die3.roll();

               sum1 = die1.getFaceValue();
               sum2 = die2.getFaceValue();
               sum3 = die3.getFaceValue();

               if (sum1 == 1 && sum2 == 1 && sum3 == 1)
               {
                   counter1++;
               }

               result = counter1;


               System.out.println("The number of times the three die rolled a"
                       + " three were " +result+ "times.");

不需要新变量。这是因为您的
System.out.println()位于for循环内。只需将它移到外部,它只会在循环执行完毕后打印。

将打印语句移出循环,谢谢。我没听清楚。
public class PairOfDiceTwo {
    private final int MAX = 6;  // maximum face value

   private int faceValue;  // current value showing on the die

   //-----------------------------------------------------------------
   //  Constructor: Sets the initial face value.
   //-----------------------------------------------------------------
   public PairOfDiceTwo()
   {
      faceValue = 1;
   }

   //-----------------------------------------------------------------
   //  Rolls the die and returns the result.
   //-----------------------------------------------------------------
   public int roll()
   {
      faceValue = (int)(Math.random() * MAX) + 1;

      return faceValue;
   }

   //-----------------------------------------------------------------
   //  Face value mutator.
   //-----------------------------------------------------------------
   public void setFaceValue (int value)
   {
      faceValue = value;
   }

   //-----------------------------------------------------------------
   //  Face value accessor.
   //-----------------------------------------------------------------
   public int getFaceValue()
   {
      return faceValue;
   }

   //-----------------------------------------------------------------
   //  Returns a string representation of this die.
   //-----------------------------------------------------------------
   public String toString()
   {
      String result = Integer.toString(faceValue);

      return result;
   }
}