イテレータに問題があります。プログラムは要素を受け入れ、格納します。表示するとクラッシュします。なぜこれが起こるのですか?そして、要素を表示する正しい方法は何ですか?2次元arraylistにデータを格納し、それをダブルイテレータで表示する方法は?
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();
}
スタックトレースを取得しましたか?それは何と言ったのですか? – shmosel