循环使用Java(初学者)

0 java loops if-statement boolean

我必须在我的代码中使用一个循环,以便当有人输入yes时,他们可以根据需要多次重新输入他们的名字,但我不知道如何做到这一点.任何帮助表示赞赏,这是我的代码:

public static void main(String [] args)
  {
    // Create a Scanner object to read input.
    Scanner keyboard = new Scanner(System.in);

    //Get the user's name.
    System.out.print("What is your name?");
    String name = keyboard.nextLine();
    System.out.println("Hello there," + name);

    System.out.println("Would you like to enter another name? Please enter Yes Or No.");
    String reply = keyboard.nextLine();

    if (reply == "yes")
    {

    }
  }
}
Run Code Online (Sandbox Code Playgroud)

Mad*_*mer 7

reply == "yes"不是你String在Java中比较s的方式.这比较了内存​​位置,而不是内容(并且内存位置不太可能相等).

相反,你需要使用reply.equals("yes"),或者如果你不关心这样的情况相比较,则可以使用reply.equalsIgnoreCase("yes")替代

do {
    // The remainder of your code...
} while (reply.equalsIgnoreCase("yes"));
Run Code Online (Sandbox Code Playgroud)

更新

您可能还希望阅读while和do-while语句以及for语句,其中介绍了使用Java循环的基础知识.

  • @Telthien并且,除非他们纠正`String`比较,否则他们所做的一切都不会奏效 (3认同)
  • @Telthien我仍然认为这是一个重大错误,大多数人似乎都在回避(有解释),但那只是我;) (2认同)