我创建了一个arrayList来存储String值。当我要从我的arrayList中获取值时,它不会返回它的第一个值;第0个索引。
ArrayList<String> arrayList = new ArrayList<String>();
Scanner scan= new Scanner(System.in);
int noInput=scan.nextInt();
for(int i=0; i < noInput/2; i++)
arrayList.add(scan.nextLine());
for(int i=0;i<arrayList.size();i++)
System.out.println("ArrayList:"+arrayList.get(i) + " " + i );
答案 0 :(得分:4)
使用scan.next()
代替scan.nextLine()
。
答案 1 :(得分:1)
由于Scanner#nextInt
只读取 int
值,因此第一次迭代中的nextLine
将消耗剩余的\n
(您点击的输入)输入整数值后。)
要解决此问题,请在nextLine
后添加nextInt
或使用next
代替nextInt
。
答案 2 :(得分:0)
可能是因为您的列表从未填写过。我认为第一个循环没有进入,所以没有任何东西被添加到数组中。
for(int i=0; i < noInput/2; i++)
arrayList.add(scan.nextLine());
尝试调试或打印arraylist的大小