添加整数元素以列出JAVA

时间:2017-01-23 21:12:32

标签: java arrays

我试图将数字与整数分开,然后将它们放入数组中。

除第一个元素外,所有元素都打印为0.有人可以解释为什么会发生这种情况吗?

public class Doom{
    public static void main(String[] args){
        int number = 1234;
        int[] list = new int[5];
        while (number > 0) {

            int x = 0;
            int fork = (number%10);
            System.out.println(fork);
            list[x] = fork;
            x++;
            number = number / 10;
        }
        for (int x : list){
            System.out.println(x);
        }

    }
}

4 个答案:

答案 0 :(得分:2)

问题是您在循环中声明了x ,因此每次都会重置为0。您希望将int x = 0;行移到循环外的while (number > 0) {行之上。然后它将被初始化为0只一次,并且每次遍历循环都可以为其赋予x++行的新值。

答案 1 :(得分:1)

您继续在循环中重新声明x,导致只有第一个索引具有有意义的数据。将它移到你的循环外面。

答案 2 :(得分:0)

您每次都要将x重新初始化为0。在while循环之外声明它。

答案 3 :(得分:0)

您的计划中存在相当多的错误。最大的一个是你将x归零,然后在while循环中将其递增1。它会将您的数字存储在同一位置(第0位)。比较以下代码段并尝试了解您的错误:

public class Doom{
    public static void main(String[] args){
        int number = 1234;
        int[] list = new int[String.valueOf(number).length()];
        int x = 0;
        while (number > 0) {        
            int fork = (number%10);
            System.out.println(fork);
            list[x] = fork;
            x++;
            number = number / 10;
        }
        for (int y : list){
            System.out.println(y);
        }

    }
}