Я вижу вашу проблему.В
GameSettings.StartLogic();
if (src.GameSettings.Classes().equals("mage")) {
System.out.println("mage");
}
else if (src.GameSettings.Classes().equals("warrior")) {
System.out.println("warrior");
}
else if (src.GameSettings.Classes().equals("archer")) {
System.out.println("archer");
}
else {
System.out.println("Non valid");
}
Вы вызываете метод GameSettings.Classes (). Equals () три раза.Вместо этого определите переменную String
перед блоком if / else следующим образом:
GameSettings.StartLogic();
String input = src.GameSettings.Classes();
if (input.equals("mage")) {
System.out.println("mage");
}
else if (input.equals("warrior")) {
System.out.println("warrior");
}
else if (input.equals("archer")) {
System.out.println("archer");
}
else {
System.out.println("Non valid");
}
Это потому, что при использовании оператора if / else вы не должны вызывать методы, которые полагаются наудачи или пользовательский ввод внутри оператора, но заранее определите их как переменные и передайте их в качестве аргументов в оператор if / else.Надеюсь, это поможет!