gpt4 book ai didi

java - 如何将数据存储在二维数组列表中并使用双迭代器显示它们?

转载 作者:行者123 更新时间:2023-12-01 09:27:38 29 4
gpt4 key购买 nike

迭代器有问题。程序接受元素并存储它。但一显示就崩溃了。为什么会出现这种情况?那么,显示元素的正确方式是什么?

public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int num;
String dec;
ArrayList<ArrayList<Integer>> al = new ArrayList<ArrayList<Integer>>();

while(true){
ArrayList<Integer> al2 = new ArrayList<Integer>();
while (true){
System.out.print("Enter a number to store in inner arraylist or zero to exit inner arraylist:\t");
num = sc.nextInt();

if (num!=0){
al2.add(num);
}else{
break;
}
}
al.add(al2);
System.out.print("Exit(Y/y):\t");
dec=sc.next();
if(dec.equals("Y") || dec.equals("y")){
Iterator<ArrayList<Integer>> it = al.iterator();
Iterator<Integer> it2 = al2.iterator();
while(it.hasNext()){
while(it2.hasNext()){
System.out.print(it2.next() + " ");
}
System.out.println();
}
break;
}
}

sc.close();

}

最佳答案

问题是当你这样做时

Iterator<Integer> it2 = al2.iterator();

al2 仍然指向最后一个值

更简单的方法是使用此 for 语法

for (ArrayList<Integer> outer : al) {
for (ArrayList<Integer> inner : outer) {
System.out.print(inner + " ");
}
}

关于java - 如何将数据存储在二维数组列表中并使用双迭代器显示它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39714386/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com