如何从我知道的arraylist中删除项目。我知道remove()方法,但它似乎不起作用;
ArrayList <String> namen = new ArrayList <> ();
System.out.print("Voer een naam in:");
Scanner in = new Scanner (System.in);
for (int i = 0; i<10; i++){
namen.add(in.next());
int aantalNamen = namen.size();
System.out.println(namen);
System.out.println(aantalNamen);
if(i == 10){
namen.remove(9);
}
}
如何更改此代码才能使其正常工作?
答案 0 :(得分:2)
由于i < 10
循环中的条件for
,if
中的for
永远不会满足。 for
成为i
后,10
将终止,因此条件if(i == 10){
永远不会成立。这就是为什么没有任何东西从你的名单中删除。
您需要将if
的条件更改为i==9
或将for中的条件更改为i <= 10
。
答案 1 :(得分:0)
if(i == 10){
namen.remove(9);
}
此代码在循环内部不起作用。因为当我得到10时,循环将终止。 所以你把删除代码放在循环外面。像这样
for (int i = 0; i<10; i++){
namen.add(in.next());
int aantalNamen = namen.size();
System.out.println(namen);
System.out.println(aantalNamen);
}
namen.remove(9);
答案 2 :(得分:0)
如何更改此代码才能使其正常工作?
要开始工作,您需要在i==9
声明处比较if
。
if(i == 9){
namen.remove(9);
}