0
非常新的Java和奇怪爲什麼這個while語句不會結束,即使當從掃描儀輸入是「N」,從而評估表達式爲false。雖然循環與掃描儀表達繼續儘管錯誤評估
import java.util.*;
public class addSongs {
public static void main (String[]args){
Scanner songAdd = new Scanner(System.in);
Scanner addContinue = new Scanner(System.in);
String ceaseAdd = new String();
ceaseAdd = "Y";
while(ceaseAdd != "N")
System.out.println("Enter track title");
String newSong = songAdd.nextLine();
MP3_catalogue.title.add(newSong);
System.out.println("Enter artist name");
String newArtist = songAdd.nextLine();
MP3_catalogue.artist.add(newArtist);
System.out.println("Enter duration");
String newDuration = songAdd.nextLine();
MP3_catalogue.duration.add(newDuration);
System.out.println("Would you like to add another song? Y/N");
ceaseAdd = addContinue.nextLine().toUpperCase();
}
}
將'String'值與'String'的equals方法進行比較,而不是'=='或'!='。 – rgettman
這:http://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java應該幫助你理解*爲什麼* @ rgettman的評論是正確的。 – knoight
你的代碼和你正在發生的事情的描述沒有加起來。你甚至說輸入「N」時它仍然運行。有了這個代碼,你永遠不會爲'ceaseAdd'輸入任何東西,它只會輸出永久性的「輸入曲目標題」。 –