嘿,我試圖從用戶的字符串輸入(在這種情況下,電影的名字,如好漢堡)。我有一個從我正在迭代的類Film的數組列表。在每次迭代中,將調用類Film實例中的方法,該方法返回影片名稱的String。當我比較這兩者時,似乎並不認識到它們是平等的,我無法弄清楚爲什麼。爲什麼這段代碼不會意識到這兩個變量是相同的?
繼承人是要帶輸入和比較這兩個代碼:
//獲取用戶輸入的影片。
int numberOfFilmsCheck;
numberOfFilmsCheck = 0;
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
Film tempFilm;
System.out.println("Please enter the names of the films you wish to be in the new schedule");
System.out.println("Press enter after each one.");
while(numberOfFilmsCheck < numberOfFilms){
boolean foundFilm;
foundFilm = false;
String inputFilmName = null;
tempFilm = null;
String filmName;
filmName = null;
try{
inputFilmName = reader.readLine();
System.out.println(inputFilmName);
}
catch (IOException e){
System.out.println("Error");
}
for(Film film : films){
film.printFilmName();
if(inputFilmName.equals(filmName)){
foundFilm = true;
tempFilm = film;
System.out.println("Found film name");
break;
}
}
if(foundFilm == true){
newFilmsForSchedule.add(tempFilm);
numberOfFilmsCheck++;
}
else{
System.out.println("The film you entered has not been recognised.");
System.out.println("Please enter the film name as shown above.");
}
,這裏是類電影的代碼返回影片名稱:
public String getFilmName()
{
return filmName;
}
如果您發現有任何流氓打印語句這就是我檢查代碼是否正常工作。
任何幫助非常感謝!由於
輸入的所有大小寫和間距與電影名稱相同。我正在製作一個參數名稱,ID和長度的電影。例如:電影4 =新電影(「死卒」,4,1.5);電影5 =新電影(「酷跑」,5,2)。 – 2012-04-27 00:38:37
檢查電影名稱的大小寫,並確保所有間距(之前,之內,之後)是相同的。向我們顯示您的輸入數據。 – 2012-04-27 00:31:09
感謝您的回覆,所有的情況和間距是相同的。我正在製作一個參數名稱,ID和長度的電影。例如:電影4 =新電影(「死卒」,4,1.5);電影5 =新電影(「酷跑」,5,2); – 2012-04-27 00:36:14