public Iterator<IBookItem> findBooksBySeller(String seller) {
for(int i = 0; i < sellerList.size(); i++){
if(sellerList.get(i).equals(seller))
{
System.out.println("The seller: " + seller + " has the following books for sale: " + titleList.get(i) + " £" + priceList.get(i));
System.out.println("-----------------------------------------------");
}
}
System.out.println("The Seller: " + seller + " has no Books for Sale");
System.out.println("--------------------------------------------");
return null;
}
这是我的代码,它打印出两个语句,有人可以告诉我为什么吗?
答案 0 :(得分:0)
如果循环的某些迭代条件为真,则将执行第一个语句。第二个语句总是在循环结束后打印(因为循环中没有返回语句)。
您可能在if语句中缺少return语句。
答案 1 :(得分:0)
你没有做任何事情来防止第二组println被执行。
您可以尝试在第一组println之后添加return null;
。
答案 2 :(得分:0)
由于您已从else
子句中排除了代码的底部部分,因此无论是否执行if
子句,都将打印它。总是执行if-else
子句之外的任何内容。
答案 3 :(得分:0)
添加&#39;返回声明&#39;在&#39; for&#39;结束时循环。