Я создаю текстовую RPG-игру, и я создаю метод selectClass. Смотрите код:Пока не равно String
public static void classChoice(){
String cont =null;
String[] classes = {"rogue", "wizard", "knight", "archer"};
Scanner input = new Scanner(System.in);
do{
System.out.println("Choose your class (Rogue, Wizard, Knight, Archer): ");
cont = input.next();
if (cont.equalsIgnoreCase("rogue")){
System.out.println("You have chosen the Rogue!");
} else if (cont.equalsIgnoreCase("wizard")) {
System.out.println("You have chosen the Wizard!");
} else if (cont.equalsIgnoreCase("knight")) {
System.out.println("You have chosen the Knight!");
} else if (cont.equalsIgnoreCase("archer")) {
System.out.println("You have chosen the Archer!");
} else {
System.out.println("Choose a valid class!");
}
} while(!cont.equals(classes));
}
Так что я сделал массив строк для всех классов, и я думал, что я мог бы сделать пользовательский ввод «прод» и сказать, что в то время как он не равен ни одному из «классов «значения массива», затем напечатайте сообщение «Выберите действительный класс!». Он не работает, никаких идей?
Я думаю, что это лучший ответ. Это упростило бы код и обеспечило бы простые для использования значения. –
Согласен. Каждый раз, когда у вас есть список констант, известных во время компиляции, вы должны автоматически думать об их выражении как 'enum'. Вы даже можете расширять перечисления Java, чтобы каждый объект перечисления мог содержать все метаданные для каждого класса символов, а также методы, которые работают на нем. Enums - это действительно способ пойти в таких случаях. – scottb