Я создаю создателя персонажа для удовольствия, и, похоже, я столкнулся с еще одной проблемой Java! Я попытался немного поработать, но я, похоже, не нашел рабочего решения ... Я пытаюсь использовать оператор switch для компилятора для вывода определенной информации в зависимости от того, какой класс (Knight, Archer, Mage) пользователь выбрал, но при вводе моего кода я получаю сообщение об ошибкеПроблемы с использованием инструкции Switch в Java
Мой код до сих пор (очищено немного) является:
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;
}
}
Я думаю, что я, возможно, пытается создать класс внутри другого класса - но когда Я попытался поместить его за пределы, получив еще одну ошибку ... Кроме того, у меня есть int, называемый attPoints, и после того, как я выбираю класс, я хочу добавить к нему 10, но не знаю, как это сделать.
Во-первых, никогда не используйте имена в 'java.lang' для собственных типов; используйте 'CharacterClass' или что-то подобное вместо этого. Предположительно, вы используете 'enum Class', и похоже, что проблемы есть. (1) Отправьте код для перечисления. (2) Ошибки компилятора указывают * где * происходят ошибки. Отправьте эту информацию. – chrylis
switch (userClass), а не переключатель (класс) –
Кстати: в Java типы перечислений представляют собой полные классы. Вместо использования 'switch' вы обычно должны определять методы перечисления и предоставлять реализации для каждого значения. – chrylis