[英]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.