迭代一个数组并获得10个java的所有倍数

时间:2018-05-09 18:06:56

标签: java arrays for-loop

我是Java的新手,我正在尝试迭代一个整数数组,并得到所有10的倍数。我的代码得到的是数组中的元素打印100次,因为这是数组的长度。我知道这是非常基本的,但我无法解决问题。这就是我所拥有的:

import java.util.Arrays;

public class ArrayThings {
    public static void main(String[] args) {
        int[] myFirstArray = new int[100];

        for (int i = 0; i < myFirstArray.length; i++) {
            myFirstArray[i] = i;
        }

        for (int i : myFirstArray) {
            if (i % 10 == 0) {
                myFirstArray[i] = i;
            } else {
                i++;
            }

            System.out.println(Arrays.toString(myFirstArray));
        }
    }
}

5 个答案:

答案 0 :(得分:1)

在Java-8中,你可以这样做:

"os"

答案 1 :(得分:1)

我认为这就是你想要做的事情:

public class ArrayThings {
    public static void main(String[] args) {
        int[] myFirstArray = new int[100];

        // array generation
        for (int i = 0; i < myFirstArray.length; i++) {
            myFirstArray[i] = i;
        }
        // printing multiples of 10
        for (int i = 0; i < myFirstArray.length; i++) {
            if (i % 10 == 0 && i != 0) {
                System.out.println(myFirstArray[i]);
            }
        }
    }
}

答案 2 :(得分:0)

为什么需要一个数组来打印10的倍数?你可以这样做:

 public class ArrayThings{
          public static void main(String[]args){
            for(int i=0; i<101; i++) {
                if(i%10==0 && i != 0){
                System.out.println(i);
                }
            }

        }}

P.S。你正在打印整个数组,而不是那个特定元素,这就是你输出错误的原因。

答案 3 :(得分:0)

这应该有效

import java.util.Arrays;

public class ArrayThings {
    public static void main(String[] args) {
        int[] myFirstArray = new int[100];
        int[] myMultiplesArray = new int[9];

        for (int i = 0; i < myFirstArray.length; i++) {
            myFirstArray[i] = i;
        }

        int j = 0;

        for (int i : myFirstArray) {
            if (i % 10 == 0) {
                myMultiplesArray[j] = i;
                j++;
            } 

        }
        System.out.println(Arrays.toString(myMultiplesArray));
    }
}

答案 4 :(得分:0)

你应该将你的print语句移到for循环之外,这就是导致它打印100次的原因。

此外,您当前的代码似乎一无所获。您正在检查i的模数,然后将myFirstArray的值设置为i的值。 i的myFirstArray的当前值已经等于i,在第一个循环中初始化。