我需要编写一个代码,如果第一个参数包含的数字大于第二个参数,则返回true;否则返回false。给定一个整数列表(第一个参数)与一个整数(第二个参数)进行比较。我必须使用Iterator来实现这个函数。
这是我到目前为止的代码:
public class ListHasGreater {
public static boolean hasGreater(List<Integer> numbers, int number) {
// write your code here
Iterator<Integer> selectedNum = numbers.iterator();
if (selectedNum.hasNext()){
int result = selectedNum.next();
while (result > number){
return true;
}
return false;
}
}
}
我得到了这个错误error: class, interface, or enum expected
我不确定我的代码在逻辑上是否正确,也不知道如何解决这个错误。
如果从条件语句返回,还应该在循环结束时添加返回语句。而不是while (result > number){return true;}
应该是if(result > number) return true
显式使用迭代器是一种相当古老的编程方式,相反,您可以使用foreach循环,并让Java在编译时将其转换为迭代器。
public static boolean hasGreater(List<Integer> numbers, int number) {
for (int numInList : numbers) {
if (numInList > number) {
return true;
}
}
return false;
}