如何将数据存储在二维arraylist中并使用double迭代器显示它们?

用户名

迭代器有问题。程序接受元素,将其存储。但在显示时会崩溃。为什么会这样?而且,显示元素的正确方法是什么?

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();

}
充满鳗鱼的气垫船

您需要在外部循环的每次迭代中创建内部迭代器。您无法重复使用它,因为它与单独的数组列表绑定在一起,并且当外部循环获取下一个迭代器时,原始的it2就没用了。同样,在外部循环中创建它。就像是:

if(dec.equals("Y") || dec.equals("y")){
    Iterator<ArrayList<Integer>> it = al.iterator();
    // Iterator<Integer> it2 = al2.iterator();
    while(it.hasNext()){
        ArrayList<Integer> myList = it.next();
        Iterator<Integer> it2 = myList.iterator();
        while(it2.hasNext()){
            System.out.print(it2.next() + " ");
        }
        System.out.println();
    }
    break;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用迭代器遍历二维ArrayList?

来自分类Dev

如何将arraylist拆分为二维数组?

来自分类Dev

如何将二维arraylist转换为datatable?

来自分类Dev

如何将文件中的单词存储在C中的二维数组中

来自分类Dev

如何将CSV文件中的int值存储在单独的二维数组元素中

来自分类Dev

如何将二维矩阵值存储在变量中?

来自分类Dev

如何将随机字母成对存储在二维数组中?

来自分类Dev

如何使用二维数组存储数据

来自分类Dev

使用二维数组中存储的相关数据

来自分类Dev

使用二维码将信息存储在数据库中

来自分类Dev

使用 PHP 将图像像素值存储在二维数组中,然后使用循环访问它们

来自分类Dev

如何将数据推送到空二维数组中的特定子数组

来自分类Dev

如何从二维数组中获取值并将它们存储到单个变量中?

来自分类Dev

Java:将ArrayList元素显示为二维ArrayList中的列

来自分类Dev

如何将谷歌分析数据添加到应用脚本中的二维数组中

来自分类Dev

Java:如何将二维ArrayList传递给方法/构造函数

来自分类Dev

在arrayList中存储二维数组元素

来自分类Dev

如何将字符变量存储为二维字符变量

来自分类Dev

如何将二维嵌套数组转换为二维数组单个?

来自分类Dev

迭代器二维列表

来自分类Dev

如何从 SQL 查询中获取多列并将它们存储在 perl 中的二维数组中

来自分类Dev

如何将二维数组 int 数据调用到文本标签?

来自分类Dev

如何将二维数据分成两组

来自分类Dev

如何将稀疏熊猫数据帧转换为二维 numpy 数组

来自分类Dev

如何将混合类型数据读取到二维数组?

来自分类Dev

将Webtable的内容存储在二维矩阵中

来自分类Dev

如何将Roo Excel工作表中的数组放入二维数组中

来自分类Dev

如何将Roo Excel工作表中的数组放入二维数组中

来自分类Dev

如何将双指针用于二维矩阵?

Related 相关文章

  1. 1

    如何使用迭代器遍历二维ArrayList?

  2. 2

    如何将arraylist拆分为二维数组?

  3. 3

    如何将二维arraylist转换为datatable?

  4. 4

    如何将文件中的单词存储在C中的二维数组中

  5. 5

    如何将CSV文件中的int值存储在单独的二维数组元素中

  6. 6

    如何将二维矩阵值存储在变量中?

  7. 7

    如何将随机字母成对存储在二维数组中?

  8. 8

    如何使用二维数组存储数据

  9. 9

    使用二维数组中存储的相关数据

  10. 10

    使用二维码将信息存储在数据库中

  11. 11

    使用 PHP 将图像像素值存储在二维数组中,然后使用循环访问它们

  12. 12

    如何将数据推送到空二维数组中的特定子数组

  13. 13

    如何从二维数组中获取值并将它们存储到单个变量中?

  14. 14

    Java:将ArrayList元素显示为二维ArrayList中的列

  15. 15

    如何将谷歌分析数据添加到应用脚本中的二维数组中

  16. 16

    Java:如何将二维ArrayList传递给方法/构造函数

  17. 17

    在arrayList中存储二维数组元素

  18. 18

    如何将字符变量存储为二维字符变量

  19. 19

    如何将二维嵌套数组转换为二维数组单个?

  20. 20

    迭代器二维列表

  21. 21

    如何从 SQL 查询中获取多列并将它们存储在 perl 中的二维数组中

  22. 22

    如何将二维数组 int 数据调用到文本标签?

  23. 23

    如何将二维数据分成两组

  24. 24

    如何将稀疏熊猫数据帧转换为二维 numpy 数组

  25. 25

    如何将混合类型数据读取到二维数组?

  26. 26

    将Webtable的内容存储在二维矩阵中

  27. 27

    如何将Roo Excel工作表中的数组放入二维数组中

  28. 28

    如何将Roo Excel工作表中的数组放入二维数组中

  29. 29

    如何将双指针用于二维矩阵?

热门标签

归档