ArrayList get()方法不返回第一个索引值

时间:2015-01-21 10:37:51

标签: java arraylist

我创建了一个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 );

3 个答案:

答案 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的大小