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