これが私のソースコードです。ユーザーに質問をし、その答えが「はい」または「いいえ」であると期待し、ユーザーが「はい」または「いいえ」の質問に答えた場合にのみ終了する単純なプログラムを実装しようとしています。私が提案した本は、==比較を使用せず、代わりにequalsメソッドを使用して、ユーザーが「yes」ではなく「yes」と入力したかどうかをプログラムが理解できるようにすることを提案しました。しかし、このように結果は同じであり、メソッドは、それが正確に「はい」または「いいえ」である場合、ユーザーの回答を比較しているように見えます。たとえば、「no」の回答は受け付けません。それはその方法にとって論理的ですか?それはそのように機能することになっていますか?「はい」「はい」「いいえ」「いいえ」などの回答を受け入れるようにプログラムを変更するにはどうすればよいですか。?私はあなたの助けをいただければ幸いです:)
import acm.program.*;
public class YesNoExample extends ConsoleProgram{
public void run(){
while(true){
String answer = readLine("Would you like instructions? ");
if(askYesNoQuestion(answer)){
break;
}
println("Please answer yes or no.");
}
}
private boolean askYesNoQuestion(String str){
if(str.equals("yes")||str.equals("no")){
return true;
}else{
return false;
}
}
}