Я хотел бы предисловие к этому с тем, что я начал изучать Java раньше в начале этого года, поэтому я ценю всю вашу помощь! В настоящее время я работаю над программой Shadowrun (3rd Edition), которая превращает Decking в командную строку. Я бы хотел, чтобы пользователь мог вводить синий, зеленый, оранжевый или красный цвет, чтобы начать с цвета хоста, но также дать вариант «Случайный».Print String Variable изменен в инструкции 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 является Random. Я ценю любой вклад, чтобы помочь решить эту проблему - заблаговременно!
Эти 'break'' выглядят проводными. – pzaenger
'if (RandomHost == 0) {HostColor.equals (« Синий »);' Вторая часть - это сравнение, а не задание. – csmckelvey
'HostColor.equals (" ")' не будет устанавливать значение «HostColor» в случайном порядке, его сравнение должно быть соответствующим образом назначено. –