大家好我已经开始在java中学习集合并尝试编写一个简单的程序但我得到2个错误请看看并帮助我。
import java.util.Iterator;
import java.util.*;
class ArrayListDemo1{
public static void main(String... s){
ArrayList<Integer> al = new ArrayList<Integer>();
// ArrayList al = new ArrayList();
int x[] = {1, -1, 2, -2, 3, -3, 4, -4};
for(int i=0; i<x.length;i++){
al.add(x[i]);
}
System.out.println(al);
// Iterator<Integer> i = al.Iterator();
Iterator i = al.Iterator();
while(i.hasNext()){
Integer z = (Integer)i.next();
// Integer z = i.next();
if(z.intValue < 0)
i.remove();
}
System.out.println(al);
}
}
答案 0 :(得分:4)
1. Iterator i = al.iterator();//here method is case sensitive
2. intValue() not intValue, is a method.
答案 1 :(得分:3)
Java区分大小写,方法通常以小写字母开头。它应该是al.iterator();
除此之外,intValue
是一种方法,因此z.intValue
应为z.intValue()
。
答案 2 :(得分:2)
第一次错误
方法通常遵循camelcase并且区分大小写。
应为al.iterator()
请查看here
第二次错误
intValue()
是一项功能,请参阅this。
将if(z.intValue < 0)
更改为if(z.intValue() < 0)
运行后,输出
[1, -1, 2, -2, 3, -3, 4, -4]
[1, 2, 3, 4]
经过测试here
答案 3 :(得分:0)
你写 intValue 。它是false.it应该是 intValue()。
答案 4 :(得分:0)
您有2个编译错误:
Iterator i = al.Iterator();
java方法名称中的以小写字符开头,Iterator也是原始类型,你应该给它一个泛型类型:
Iterator<Integer> i = al.iterator();
你的第二个问题是:
z.intValue
Integer没有公共字段intValue,但返回所需值的方法intValue():
z.intValue()
作为提示:我不知道你为什么在这里使用Iterator,但你也可以使用for-each循环来删除列表项:
for ( Integer integer : al )
{
if ( integer.intValue() < 0 )
al.remove( integer );
}