我怎样才能使我的 while 循环只打印偶数? Java 日蚀 IDE

How can I make it so my while-loop only prints even numbers? Java Eclipse IDE

这里是初学者。对于我的编码 class,我们有一个作业要求我们打印数字 1-20,但将其配置为仅输出偶数。这是我到目前为止所拥有的,但我很困惑。他说要放一个 if 语句并使用“%”运算符,但我不知道放在哪里。

    int counter = 1;
    System.out.println("Part 2 - Even Numbers");
    while (counter <= 20)
    {
        //if (counter 
        System.out.printf("%d ", counter);
        counter++;
    } // end while loop

Instructions for assignment

My Output

CORRECT Output

  if(counter % 2 == 0){
      System.out.printf("%d ", counter);
  }
  counter++;

%运算符是mod运算符,如果counter % 2 == 0,则counter为偶数

使用fori

 public static void main(String[] args) {
        for (int i = 1; i <= 20; i++) {
            if (i % 2 == 0) {
                System.out.println(i);
            }
        }
    }

%为取余运算

%是一个算术运算符,叫做MODULO。 模运算符 returns 2 个数字的余数。在这种情况下,我们使用模数来确定数字是偶数还是奇数。

奇数%2 returns 1

even%2 returns 0

while 循环遍历前 20 个元素。所以我们在打印元素之前放了一个 if 语句。如果计数器是偶数,即 (counter%2 == 0) 我们打印它。

这是打印偶数的代码:

        int counter = 0;
        System.out.println("Part 2 - Even Numbers");
        while (counter <= 20)
        {
            if (counter%2 == 0){
                System.out.printf("%d ", counter);
            }
            counter++;
        } // end while loop

这也可以在不使用 MODULO 运算符的情况下完成:

        int counter = 0;
        System.out.println("Part 2 - Even Numbers");
        while (counter <= 20)
        {
            System.out.printf("%d ", counter);
            counter+=2;
        } // end while loop