java - 将 do-while 循环转换为 Java 中的 for 循环

标签 java for-loop

所以我在类里面必须做一个实验,所以我有这个 while 循环。然后我必须将循环转换为 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);

最佳答案

正如其他人所提到的,问题出现了,for 循环 将在循环开始时检查条件,但是您的 do while 循环将检查条件循环结束。

这意味着对于 for 循环,您保证至少有一次迭代。但是,使用 do while 循环,您保证至少有一个。

假设这不是问题,for 循环 语句可能是这样的:

for (count = 0; count < NUMBER; count++)

count = 0 可能需要更改为 count = 1 或任何 count 最初应该开始的位置。


然而,鉴于 count 需要如何为您当前的代码初始化,您可以像这样在 for 循环 中省略初始化部分:

 for (; count < NUMBER; count++)

关于java - 将 do-while 循环转换为 Java 中的 for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21667834/

相关文章:

java - 何时使用断言以及何时使用异常

java - 使用 AM/PM 解析时无法解析的日期

c++ - 充当过滤器的范围 - 不同的迭代器集

关于 unpack() 和 printf() 中的 v 标志的 Perl 问题

java - 如何将 HashMap 类型转换为 WeakHashMap?

java - SQL 错误 :Column Index Out of Range, 2>1

java - 读取文件中的 double

c - 在达到数组长度后在我的循环中看到随机数?

C:Turbo C 编译器中 for 循环的异常行为

java - 捕获字符串上匹配字符(单个或重复)之间的所有字符