java返回值,在for循环中使用if语句
我的方法应该返回一张卡,我在for循环中有一个if语句——我不想在末尾添加“return c”,因为这将返回carddeck中的最后一张卡。我在说“必须返回类型卡”时出错。你有什么建议
另外,这是我的第一篇帖子——如果有一个明显的答案,请道歉。所有这些支架都让我不舒服
public Card findRightCardWithIndex(int index) throws IllegalArgumentException {
for(Card c:carddeck) {
if (c.getIndex() == index) {
return c;
} else {
throw new IllegalArgumentException("Invalid index");
}
}
}
# 1 楼答案
您要做的是扫描整个列表,如果找不到,则在找不到时生成响应
# 2 楼答案
也许您应该将此代码更改为Java8流,这会使它更明显,更不容易出错(但速度会稍慢)
例如:
# 3 楼答案
我认为这是正确的做法
# 4 楼答案
创建一个空卡片对象,如果在循环中找到索引,则将卡片分配给对象,并用break终止循环。 如果对象不为null,则返回该对象,否则抛出异常,因为这意味着没有具有该索引的卡