我想以此爲序,我只是在今年初纔開始學習Java,所以我非常感謝您的幫助!我目前正在研究Shadowrun(第三版)程序,將裝飾轉換爲命令提示符。我希望用戶能夠輸入藍色,綠色,橙色或紅色,以主機顏色開始,同時也提供隨機選項。打印字符串在If語句中更改的變量
Scanner user_input = new Scanner(System.in);
String HostColor;
System.out.println("What is the color of the Host? (Blue, Green, Orange, Red, Random)"); //Get the Host's Color
HostColor = user_input.nextLine();
Random rand = new Random();
while ((!HostColor.equals("Blue")) || (!HostColor.equals("Green")) || (!HostColor.equals("Orange")) || (!HostColor.equals("Red"))) {
if (HostColor.equals("Blue")) {
...
break;
}
else if (HostColor.equals("Green")) {
...
break;
}
else if (HostColor.equals("Orange")) {
...
break;
}
else if (HostColor.equals("Red")) {
...
break;
}
else if (HostColor.equals("Random")) {
int RandomHost = (rand.nextInt(4));
if (RandomHost == 0) {
HostColor.equals("Blue");
...
break;
}
else if (RandomHost == 1) {
HostColor.equals("Green");
...
break;
}
else if (RandomHost == 2) {
HostColor.equals("Orange");
...
break;
}
else if (RandomHost == 3) {
HostColor.equals("Red");
...
break;
}
}
else {
System.out.println("Invalid Command");
System.out.println("What is the color of the Host? (Blue, Green, Orange, Red, Random)");
HostColor = user_input.nextLine();
}
}
System.out.println("Host is a " + HostColor + "...");
代碼在指定特定顏色時工作得很好。但是,當選擇隨機選項然後打印整體結果,而不是打印四種顏色之一時,我的代碼表示HostColor是隨機的。我很感謝任何有助於解決此問題的意見 - 先謝謝!
這些'打破;'看起來有線。 – pzaenger
'if(RandomHost == 0){HostColor.equals(「Blue」);'第二部分是比較而不是任務。 – csmckelvey
'HostColor.equals(「」)'不會隨機設置'HostColor'的值,因此它的比較可以正確地指定它。 –