스위치 케이스에서 enum을 사용하려고합니다. 어떤 이유로 스위치 케이스는 int를 찾으려고하지만 enum을 찾는 netbeans에 나와 있습니다. setStats()에서 스위치 케이스에 enum을 사용하면 어떻게 될까요? 나는 요청에 따라 자바 7switch 문에서 enum을 사용할 수 없습니다.
package rpgmanager;
import java.util.Random;
/**
*
* @author aaron
*/
public class CharacterClass {
Random random = new Random();
private int STR;
private int DEX;
private int CON;
private int WIS;
private int INT;
private int CHA;
private Enum SuperClass;
/**
*
*/
public CharacterClass(Enum Player_Class) {
SuperClass = Player_Class;
System.out.println("You are a handsome "+ Player_Class);
this.setStats();
}
/*
* Sets the users stats
*/
private void setStats() {
STR = random.nextInt(6) + 5;
DEX = random.nextInt(6) + 5;
CON = random.nextInt(6) + 5;
WIS = random.nextInt(6) + 5;
INT = random.nextInt(6) + 5;
CHA = random.nextInt(6) + 5;
switch (SuperClass) {
case Barbarian:
break;
default:
throw new AssertionError(SuperClass.name());
}
}
내 ENUM 코드를 사용하고 -
private enum Base_Class {
Barbarian, Bard, Cleric, Druid, Fighter, Monk,
Paladin, Ranger, Rogue, Sorcerer, Wizard
};
/*
* Sets the Base Class of the PC
*/
public void setBaseClass() {
do {
System.out.println("Available Classes: ");
System.out.println("Please select a cooresponding number for class.");
int i = 1;
for(Base_Class value: Base_Class.values()){
System.out.println(i+": "+value.name());
i++;
}
try {
System.out.print("Choice: ");
Base_Class_Choice = user_input.nextInt();
Player_Class = Base_Class.values()[Base_Class_Choice - 1];
try {
CharacterClass extendedClass = new CharacterClass(Player_Class);
extendedClass.getStatsList();
Extended_Class = extendedClass;
} catch (Exception e) {
System.out.println("Failed to build the character class!");
}
if (Base_Class_Choice < 1 || Base_Class_Choice > i) {
System.out.println("Not a valid number.");
}
} catch (Exception e) {
System.out.println("You must choose a valid class. Try numbers.");
user_input.next();
}
} while (Base_Class_Choice == 0);
}
enum 클래스 코드를 게시 할 수 있습니까? – gwin003
@ grin003 enum 클래스 코드를 추가합니다. – ILikeTurtles
표준 Java 명명 규칙을 사용하십시오. 그렇지 않으면 코드에 대해 생각하기가 조금 더 어려워집니다. –