简单的变量引用

时间:2017-06-03 18:35:26

标签: java enums java.util.scanner

所以我现在正在尝试制作一个简单的RPG游戏,这是我的第一次,所以我正在学习哈哈,但我的问题是,我试图在另一个类中引用一个变量来为玩家选择他们的类。附:我无法弄清楚要查找什么,所以如果这是一个重复的问题,我很抱歉。

这是主要的

public static void main(String[] args) {
    Scanner inputRace =  new Scanner(System.in);
    player player1 = new player(race.valueOf(inputRace), profession.ranger);
}

这是我试图引用的race

public enum race {
    orc, elf, human, dwarf
}

所以我所要做的就是能够接受用户的输入,就像种族一样。(“无论他们的选择是什么”),但我无法弄明白。感谢任何帮助,如果它令人困惑,请抱歉。

2 个答案:

答案 0 :(得分:0)

如果我理解正确,如果用户输入race.orc,则需要orc

您已经走上正轨,您只需要输入用户的字符串,例如

String s = inputRace.next();
player player1 = new player(race.valueOf(s), profession.ranger);

答案 1 :(得分:0)

在其他访问输入数据时,您必须使用扫描仪方法,如next,nextInt,nextDouble等 在你的情况下,你正在寻找字符串,所以它应该是这样的:

try {
    Race race = Race.valueOf( inputRace.next() ); // next returns string
    Player player1 = new Player(race, profession.ranger);
} catch ( IllegalArgumentException ex ) {
    System.err.println( "That race doesn't exsist" );
}

请注意,我在Race和Player中使用了大写字母,这是命名类的标准方法。

此外,您应该将代码置于某种循环中,直到他没有写出正确的种族。