我正在制作基于文本的RPG游戏,我正在创建一个chooseClass方法.看代码:
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));
}
Run Code Online (Sandbox Code Playgroud)
所以我为所有类创建了一个字符串数组,我认为我可以让用户输入"cont"并说它虽然不等于任何"类"数组值,但是打印消息"选择一个有效的课程!" 它没有用,有什么想法吗?
cont.equals(classes)不测试是否cont在classes.它测试是否cont等于classes.既然cont是一个String并且classes是一个字符串数组,这将永远不会成立.
我建议Arrays.asList用来制作课程列表.然后,您可以测试列表是否包含cont:
classes = Arrays.asList("rogue", "wizard", "knight", "archer");
... while (!classes.contains(cont));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6452 次 |
| 最近记录: |