gpt4 book ai didi

java - 打印 If 语句中更改的字符串变量

转载 作者:行者123 更新时间:2023-12-02 03:07:22 25 4
gpt4 key购买 nike

我想以此作为序言,我是今年年初才开始学习 Java,所以我感谢您的所有帮助!我目前正在开发 Shadowrun(第 3 版)程序,该程序将 Decking 变成命令提示符。我希望用户能够输入蓝色、绿色、橙色或红色以主机颜色开始,但也提供一个随机选项。

  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 是随机的。我感谢任何有助于解决此问题的意见 - 提前致谢!

最佳答案

HostColor.equals() 不是赋值,equals() 是比较方法,在这种情况下检查两个字符串是否相等。

else if (HostColor.equals("Random")) {
int RandomHost = (rand.nextInt(4));
if (RandomHost == 0) {
HostColor = "Blue";
}
else if (RandomHost == 1) {
HostColor = "Green";
}
else if (RandomHost == 2) {
HostColor = "Orange";
}
else if (RandomHost == 3) {
HostColor = "Red" ;
}
}

我建议您使用 Switch 语句 来比较 string 而不是 if-elseif。 Switch 似乎是编写此类条件代码的更简洁的方式。

关于java - 打印 If 语句中更改的字符串变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41569269/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com