如何打印Array的每个第三个元素?

时间:2018-03-08 17:38:06

标签: java arrays for-loop

我需要从用户大小的数组中获取2个输入,然后是相同数组的元素。

我需要打印数组的每个第三个元素。

示例阵列:1,2,3,4,5,6,7,8,9
期望的输出:3,6,9
获得:9,6,3

class Demo {

    public static void main(String[] args) {

        int x;
        int[] y;

        Scanner tastatura = new Scanner(System.in);

        System.out.println("Enter size of array:");

        x = tastatura.nextInt();
        y = new int[x];
        System.out.println("Enter the elements of array:");

        for (int i = 0; i < x; i++) {
            y[i] = tastatura.nextInt();
        }

        System.out.println("\n Every third element of array is : ");

        for (int i = y.length - 1; i >= 0; i = i - 3) {
            System.out.println(y[i]);
        }
        tastatura.close();
    }

4 个答案:

答案 0 :(得分:3)

你很亲密!你只是颠倒了迭代顺序!

for (int i = y.length - 1; i >= 0; i = i - 3) {
    System.out.println(y[i]);
}

应该是:

for (int i = 2; i < y.length; i += 3) {
    System.out.println(y[i]);
}

请注意,如果您的数组不包含至少ArrayIndexOutOfBoundsException元素,则可以抛出3,因此您应该在某处处理它。

答案 1 :(得分:1)

for (int i =0 ; i < y.length - 1; i = i + 3) {
        System.out.println(y[i]);
    }

您打印的方式是相反的顺序。纠正

答案 2 :(得分:1)

使用模数运算符查找每个第3项。

示例
    0%3 = 0
    1%3 = 1
    2%3 = 2
    3%3 = 0

答案 3 :(得分:0)

你走在正确的轨道上我强烈建议使用模数:

\