如何在使用 for 循环时仅显示数组中的偶数?

How do I display only even numbers in an array while using for loop?

我试图在使用 for 循环时仅显示数组中的偶数 (0-18)。

int[] numbers = new int[38];
    for(int i=0; i < numbers.length; ++i)
    numbers[i] = i / 2;
    for(int i=0; i < numbers.length; i++)
    System.out.print(numbers[++i] + " ");
    System.out.println();

到目前为止我有 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 displaying

我尝试将 numbers[i] = i / 2; 更改为 numbers[i] = i % 2; 但我只会得到 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

public class DisplayEvenNumbers {
    public static void main(String args[]) {
      int[] numbers = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18};
      for (int number : numbers) {
          if (number % 2 == 0) {
              System.out.println(number);
          }
      }
    }
}

你只需要有一个数组,其中包含你想要显示偶数的数字范围,遍历数组检查每个位置的值是否为偶数,如果是,则显示它。

实际上你甚至不需要数组,你可以只使用一个循环并以类似的方式使用循环索引进行操作:

public class DisplayEvenNumbers2 {
    public static void main(String args[]) {
      int[] numbers = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18};
      for (int i = 1; i < 19; i++) {
          if (i % 2 == 0) {
              System.out.println(i);
          }
      }
    }
}

这两个示例在功能上是等效的,均显示偶数 2、4、6、8、10、12、14、16 和 18,每行各占一行。