【发布时间】:2020-07-05 07:15:12
【问题描述】:
如果书名包含给定的参数,我的代码的目标是打印出书名。 提供了测试,并通过了除此给定输入之外的所有测试: 预期的输出是“Harry”,但我得到的实际输出是“No hits found for search term: Harry”。所以第一个 if 语句对 Harry 来说并没有破坏。我该如何解决这个问题,一直在寻找我做错的地方但找不到它。 这是我的代码:
public void execute(LibraryData data) {
for (BookEntry book : data.getBookData()) {
if (book.getTitle().toLowerCase().contains(givenArgument.toLowerCase())) {
System.out.println(book.getTitle());
break;
} else {
System.out.println("No hits found for search term: " + givenArgument);
break;
}
}
【问题讨论】:
-
你的 if 语句可能是错误的,这就是为什么它没有打破 if,它永远不会进入它。
-
你只看第一本书。
-
“break”语句跳出循环(for、while),但在“if”中不起作用,请参阅:stackoverflow.com/a/28816407
标签: java if-statement break