【问题标题】:Why can I not add to my array list为什么我不能添加到我的数组列表
【发布时间】:2015-10-27 22:26:40
【问题描述】:

当我运行代码时,唯一打印的是 []。我已经复制了下面的代码。

 java.util.ArrayList<Integer> list2 = new  java.util.ArrayList();
        Scanner input = new Scanner(System.in);
        for (int i = 0; i < list2.size() ; i++) {
            list2.add(input.nextInt());
        }
        System.out.println(list2);

}

【问题讨论】:

  • 你认为list2.size() 会做什么?
  • 它应该一直到列表的末尾
  • 在这种情况下,列表的结尾是什么?
  • 它将接受任意数量的数字。但是在第一次运行for循环时,它会检查当时arraylist的大小是否为0。所以它根本不会执行。这就是每个人都试图建议的内容
  • 为什么不使用其他方法进行循环?像“同时”?

标签: java arraylist


【解决方案1】:

那个循环 不会执行,因为代码开头的列表是空的。如果该列表中有元素,则循环将永远继续添加元素。

        import  java.util.ArrayList;

        ArrayList<Integer> list2 = new ArrayList<Integer>();

        list2.add(1); //sample value

        Scanner input = new Scanner(System.in);

        for (int i = 0; i < list2.size() ; i++) {
            list2.add(input.nextInt());
        }

        System.out.println(list2);

【讨论】:

  • 为什么删除了当列表中有元素时,for循环将永远运行的注释?这是正确的,也是一个好点。你应该恢复它。
  • 循环什么时候结束?
【解决方案2】:

因为它还没有任何元素。

list2.size() 

返回 0

【讨论】:

    【解决方案3】:

    原因是您永远不会进入循环,因为列表的大小是0i。您首先需要向列表中添加一些内容以执行 for 循环。

    【讨论】:

      猜你喜欢
      • 2020-12-02
      • 2023-04-03
      • 1970-01-01
      • 2023-02-05
      • 2015-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-21
      相关资源
      最近更新 更多