当我输出此album1.findSongInAlbum()
方法时,无论输入什么,我都会“不工作”,或者如果输入正确的名称,我将得到album song found
,还有Not working
。 / p>
public boolean findSongInAlbum(String songName) {
for (int i = 0; i < this.albumContainingListOfSongs.size(); i++) {
if (songName.equals(albumContainingListOfSongs.get(i).getTitle1())) {
System.out.println("Album song found: " + albumContainingListOfSongs.get(i).toString());
} else if (!songName.equals(albumContainingListOfSongs.get(i).getTitle1())) {
System.out.println("Not workin");
return false;
}
}
return true;
}
输出应该是一个或另一个,要么是找到的歌曲,要么是没有找到的歌曲,但绝不能同时存在。
答案 0 :(得分:3)
您的逻辑是错误的。
这应该有效:
public boolean findSongInAlbum(String songName) {
for (int i = 0; i < this.albumContainingListOfSongs.size(); i++) {
if (songName.equals(albumContainingListOfSongs.get(i).getTitle1())) {
System.out.println("Album song found: " + albumContainingListOfSongs.get(i).toString());
return true;
}
}
System.out.println("Album song not found");
return false;
}