为什么我的列表中包含大于while循环的数字?

时间:2018-11-21 05:49:24

标签: java

我创建了一个带有break语句的while循环,以打印一些数字并避免出现其他数字,结果最终打印了一个比循环限制大的数字。这是代码

package examples;

public class LoopContolExamples {
  public static void main(String[] args) {
    int count = 0;
    while (count <= 12) {
        count++;

        if (count == 9)
            //break;
            continue;

        if (count % 2 == 0)
            continue;
        else
            System.out.println(count);{
      }
    }
  }
}

这是结果。
    3     5     7     11     13

任何人都可以帮助解释发生了什么吗? 我是Java的新手,这是我用该语言编写的第一批代码之一。

3 个答案:

答案 0 :(得分:5)

count等于12时,它进入了循环。

然后您立即执行count++;,将其设置为13,同时它仍在循环中。下一次迭代将使条件失败。

答案 1 :(得分:1)

您要在递增计数后打印计数值。因此,当它进入循环时,它将是12,然后将该值增加到13,然后将其打印出来。现在,如果要打印等于或小于12的数字,则需要像这样更改代码:

int count = 0;
            while (count < 12) {
                count++;

                if (count == 9)
                    //break;
                    continue;

                if (count % 2 == 0)
                    continue;
                else
                    System.out.println(count);{
              }
            }

答案 2 :(得分:1)

如果您希望范围为0到12,这是解决此问题的一种替代解决方案,而无需更改while循环中的条件。

     int count = 0;
     while (count <= 12) {
            if (count == 9)
                ; //do nothing
            if (count % 2 == 0)
                ; //do nothing
            else
                System.out.println(count); //otherwise, print the count
          count++; //increment the count
     }