Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何打印数组的每三个元素?_Java_Arrays_For Loop - Fatal编程技术网

Java 如何打印数组的每三个元素?

Java 如何打印数组的每三个元素?,java,arrays,for-loop,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.o

我需要从数组的用户大小中获取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();
    }
类演示{
公共静态void main(字符串[]args){
int x;
int[]y;
Scanner tastatura=新扫描仪(System.in);
System.out.println(“输入数组大小:”);
x=tastatura.nextInt();
y=新整数[x];
System.out.println(“输入数组的元素:”);
对于(int i=0;i=0;i=i-3){
系统输出println(y[i]);
}
tastatura.close();
}

你很接近了!你只是颠倒了迭代顺序

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]);
}
for(int i=2;i
请注意,如果您的数组不包含至少3个元素,那么这可能会抛出一个
ArrayIndexOutOfBoundsException
,因此您应该在某个地方处理它。

for(int i=0;ifor (int i =0 ; i < y.length - 1; i = i + 3) {
        System.out.println(y[i]);
    }
系统输出println(y[i]); }
打印的方式与此相反。请更正,使用模数运算符查找第三个项目

范例
0%3=0
1%3=1
2%3=2

3%3=0

您走的是正确的道路,我强烈建议您使用模数:

for (int i = 0; i < y.length; i++) {
    if(i%3==0){
    System.out.println(y[i]);
   }//if statement
}//for loop
for(int i=0;i
Tnx这就是它(lmao:)只是好奇……为什么在这个问题上有这么多人投了反对票?!