扫描仪和 ArrayList Java

Scanner and ArrayList Java

我正在尝试使用以下代码接受用户对此 ArrayList 的输入:

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);

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

    for (int i = 0; i < list.size(); i++) {
        System.out.println("Enter numbers, press 0 to exit");
        i = sc.nextInt();
        if (i == 0) {
            break;
        } else {
            list.add(i);
        }
    }
}

我得到的输出只是 []

谁能告诉我哪里出错了?

你的 list.size() 一开始是 0,所以你不会进入你的 for 循环。 你可以做类似

int i = 0;
do {
      System.out.println("Enter numbers, press 0 to exit");
      i = sc.nextInt();
      if(i != 0) {
           list.add(i);
      }
} while(i != 0)

你有一个小错别字:

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

    for(int i = 0; i < list.size(); i++) {

由于列表一开始是空的,list.size()为0,i总是小于list.size()