私のコードが動作しない理由を理解できません。Java:if文と等しくない文がプログラムを破る
「はい」または「いいえ」と等しくない場合は、周囲を壊しているようです。ここで
は私のコードです:
public static void main(String[] args) {
// TODO code application logic here
Scanner user_input = new Scanner(System.in);
String name;
System.out.println("Hello, what is your name?");
name = user_input.next();
System.out.println("");
String name_answer;
System.out.println("Your name is " + name + ". Is this correct? (yes/no)");
name_answer = user_input.next();
System.out.println("");
if (!name_answer.equals("yes" + "no")) {
System.out.println("Answer not valid. Please input again.");
name_answer = user_input.next();
while (!name_answer.equals("yes" + "no")) {
System.out.println("Answer not valid. Please input again.");
name_answer = user_input.next(); } }
if (name_answer.equals("yes")) {
System.out.println("Thank you, " + name + ". Please proceed to the next question.");
} else if (name_answer.equals("no")) {
System.out.println("Please reinput your name correctly.");
while (name_answer.equals("no")) {
String name_again;
System.out.println("");
System.out.println("What is your correct name?");
name_again = user_input.next();
System.out.println("");
System.out.println("Your name is " + name_again + ". Is this correct? (yes/no)");
name_answer = user_input.next(); }
私は(下に表示)のコードの-等しいないブロックをコメントアウトした場合、プログラムは動作します。しかし、ブロックのコードでは、プログラムが壊れます。
if (!name_answer.equals("yes" + "no")) {
System.out.println("Answer not valid. Please input again.");
name_answer = user_input.next();
while (!name_answer.equals("yes" + "no")) {
System.out.println("Answer not valid. Please input again.");
name_answer = user_input.next(); } }
私の目標は、「はい」または「いいえ」の別のステップへのプログラムをもたらしながら、「はい」または「いいえ」reinputtedすることに等しくないすべての答えを持っていることです。助けてくれてありがとう。
あなたは '「はい」+「ノー」'手段どう思いますか? 「休憩」はどういう意味ですか? – shmosel
本質的に、あなたのコードが** if **および** while **ループ条件を確認するために何を求めているかは、*** name_answer ***という文字列変数が "yesno"と等しくない場合です。私はこれがあなたの意図だとは思わない。 [論理AND](https://www.javatpoint.com/operators-in-java)演算子を読んでください。[String.equalsIgnoreCase()](https://www.tutorialspoint .com/java/java_string_equalsignorecase.htm)メソッド。 – DevilsHnd
誰かが「いいえ」と入力して、次に尋ねるときに気をつけて入力するとどうなりますか? whileループの最初の繰り返しをハードコード化したのはなぜですか? – Dukeling