我的代码有什么问题?我试图找出该集合是否包含任何奇数
public static boolean hasOdd (Set<Integer> set) {
Iterator iterator;
iterator = set.iterator();
while (iterator.hasNext()) {
if(iterator.next()%2 != 0) {
return true;
} else {
return false;
}
}
}
Run Code Online (Sandbox Code Playgroud)
问题是它只检查迭代器的第一个元素.如果当前元素是偶数,则不应返回,而是转到下一个元素.另一个问题是,如果您希望自动拆箱工作,您应该使用Iterator<Integer>,而不仅仅是原始Iterator.
使用foreach循环也会更简洁和可读:
for (Integer i : set) {
...
}
Run Code Online (Sandbox Code Playgroud)
这看起来像是家庭作业,或者至少是你自己可以弄明白的东西,所以我不会给你解决方案,只有上面的提示.
| 归档时间: |
|
| 查看次数: |
407 次 |
| 最近记录: |