所以我在课堂上进行了这个循环,我必须在课堂上进行。然后我不得不将循环转换为do-while循环以查看设计上的差异并确保我得到相同的结果。现在我需要将它转换为for循环,但我不知道如何设置for语句。目前的情况如下:
do
{
die1Value = generator.nextInt(6) + 1;
die2Value = generator.nextInt(6) + 1;
if (die1Value == die2Value)
{
if (die1Value == 1)
{
snakeEyes += 1;
}
else if (die1Value == 2)
{
twos += 1;
}
else if (die1Value == 3)
{
threes += 1;
}
else if (die1Value == 4)
{
fours += 1;
}
else if (die1Value == 5)
{
fives += 1;
}
else if (die1Value == 6)
{
sixes += 1;
}
}
count += 1;
}while (count < NUMBER);
答案 0 :(得分:1)
利用Java教程和Java Docs;你希望掌握循环的每个部分的语法和含义,所以一旦你读到它就不应该弄清楚如何转换它。
(源)http://docs.oracle.com/javase/tutorial/java/nutsandbolts/for.html
for语句提供了一种迭代一系列值的简洁方法。程序员经常将其称为“for循环”,因为它反复循环直到满足特定条件的方式。 for语句的一般形式可表示如下:
for (initialization; termination; increment) {
statement(s);
}
使用此版本的for语句时,请记住:
初始化表达式初始化循环;循环开始时,它执行一次。 当终止表达式求值为false时,循环终止。 每次迭代循环后调用increment表达式;这个表达式增加或减少一个值是完全可以接受的。
答案 1 :(得分:1)
do-while
循环不会检查第一次迭代的条件,但是for
循环会检查。因此,您需要首次在for循环中使条件true
。
试试这个:
for (boolean keepWorking = true; keepWorking; keepWorking = ++count < NUMBER) {
// ...
}
答案 2 :(得分:1)
正如其他人所提到的那样,问题出现了for loop
将在循环开始时检查条件,但是你的do while
循环将在循环结束时检查条件。
这意味着,使用for loop
,您 保证至少一次迭代。但是,使用do while
循环,至少保证 。
假设这不是问题,for loop
语句可能是这样的:
for (count = 0; count < NUMBER; count++)
count = 0
可能需要更改为count = 1
或原本应该开始的count
。
但是,看看count
需要如何为当前代码进行初始化,您可以省略for loop
中的初始化部分,如下所示:
for (; count < NUMBER; count++)