我環顧了一會兒,我找不到完全類似的問題。我正在編寫一個程序,讓用戶選擇要問什麼類型的問題,然後輸入他們的答案。如果他們得到了正確的結果,他們的分數就會增加一個分數。當答案不正確時,我可以讓它工作,但當它們正確時不行。我知道這是因爲輸入的字符串與某些原因存儲的正確答案不匹配,但我無法弄清楚原因。以下是一段代碼:字符串輸入問題?
System.out.println("What school do the Badgers belong to?");
mascotQuestion1 = scan.next();
if (mascotQuestion1.equalsIgnoreCase("University of Michigan")) {
score++;
}
else if (mascotQuestion1.equalsIgnoreCase("don't know")) {
score = (score + 0);
}
else {
score--;
}
基本上,if和else if語句不起作用。每個輸入都被髮送到else語句。有什麼問題?
編輯:所以,我試圖在輸入「密歇根大學」後打印輸入的mascotQuestion1,並且它回來了「大學」。這就是爲什麼它錯了,但我不知道如何解決這個問題。
你爲什麼不打印出mascotQuestion1'的'的內容,看看它是否是你期望什麼? – khelwood 2014-09-30 23:21:43
YOu確實需要針對失敗案例提供一些調試反饋,例如:'System.out.println(「期望的答案'密歇根大學',但得到了''+ mascotQuestion1 +''。');' – rolfl 2014-09-30 23:22:07
try mascotQuestion1 = scan的.next()修剪();看看它是否有幫助。 – 2014-09-30 23:24:00