저는 재미있는 캐릭터 작성자입니다. 또 다른 자바 문제가 발생했습니다! 내가 조금 주위에 인터넷 검색을 시도했지만 작동하는 해결책을 찾지 못하는 것 ... 어떤 클래스 (기사, 궁수, 마법사)에 따라 특정 정보를 출력하는 컴파일러에 대한 switch 문을 사용하려고합니다. 선택했지만 내 코드를 입력 할 때 내가 얻을 오류 메시지Java에서 Switch 문을 사용할 때 문제가 발생했습니다.
내 코드는 지금까지 (약간의 정리)입니다 : 내가 다른 클래스의 내부 클래스를 만들려고 할 것 같아요
String name;
String className;
int attPoints;
System.out.println("Welcome to 'GameName's' Character Creator 2.0!\n");
Thread.sleep(500);
System.out.print("First off, what do you want your characters name to be? \n\nName : ");
name = Scan.nextLine();
Thread.sleep(500);
System.out.print("\nYou are now to be known as "+ name + "!");
System.out.print("\n\n" + name + ", what class do you want to be? ");
System.out.print("\n\nClasses available :\nKnight");
Thread.sleep(1500);
System.out.print("\nMage");
Thread.sleep(300);
System.out.print("\nDruid");
Thread.sleep(300);
System.out.print("\nNinja");
Thread.sleep(300);
System.out.print("\nArcher");
Thread.sleep(300);
System.out.print("\nAdventurer");
Thread.sleep(300);
System.out.print("\nBerserker");
Thread.sleep(300);
System.out.print("\n\nClass : ");
className = Scan.next();
Class userClass = Class.valueOf(className);
Thread.sleep(500);
System.out.println("\nCongratulations! Your class is now : "+ className + "!");
Thread.sleep(500);
// This is where I get an error.
// - Syntax error, insert "enum Identifier" to complete EnumHeaderName
// - Syntax error, insert "EnumBody" to complete BlockStatement
// - Syntax error on token "void", @ expected
public void setClass()
switch (Class) {
case Knight:
System.out.println(" Various lore about knights ");
break;
}
}
-하지만 때 외부에 퍼팅을 시도했는데 다른 오류가 발생했습니다. 또한 attPoints라는 int가 있습니다. 클래스를 선택한 후 10을 더하고 싶지만 확실하지는 않습니다.
이 java.lang''에 이름을 먼저 사용하지 않습니다를; 'CharacterClass' 또는 비슷한 것을 대신 사용하십시오. 아마 당신은'enum 클래스'를 사용하고 있으며 문제가있는 것처럼 보입니다. (1) enum에 대한 코드를 게시하십시오. (2) 컴파일러 오류는 * 오류가 발생한 * 위치를 지정합니다. 그 정보를 게시하십시오. – chrylis
switch (userClass), not switch (Class) –
By 덧붙여서 : Java에서는, enum 형은 풀 클래스입니다. 대신에'switch'를 사용하는 대신 일반적으로 enum에 메소드를 정의하고 각 값에 대한 구현을 제공해야합니다. – chrylis