[英]Adding integer elements to list JAVA
我试图将数字与整数分开,然后将它们放入数组中。
所有元素,除了第一个,都打印为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);
}
}
}
问题是,您声明x
循环内 ,因此它被重置为0
每次。 你想移动int x = 0;
行在while (number > 0) {
line,在循环之外。 然后它将被初始化为0只一次,并且每次遍历循环都可以使用x++
行为其分配新值。
您继续在循环中重新声明x,导致只有第一个索引具有有意义的数据。 将它移动到循环的外部。
您每次都将x重新初始化为0。 在while循环之外声明它。
你的程序中有很多错误。 最大的一个是你将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);
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.