Разбить ярлык в выключателе

Отредактировано: Спасибо всем за вашу помощь. Я смог заставить его работать, используя навыки, которые я выучил в предыдущих главах, и ваш совет. Спасибо вам большое!

Я решил попробовать закрепить то, чему научился на Java: руководство для начинающих, создав простое текстовое приключение. Я собираюсь начать главу 4, которая включает в себя классы и методы. Первые три главы были посвящены переключению, простому взаимодействию с клавиатурой и прерыванию / продолжению.

Я планирую возвращаться после каждой главы и редактировать ее, чтобы использовать новые навыки, которые я изучил. Я едва поцарапал поверхность и столкнулся с проблемой.

// A basic, but hopefully, lengthy text adventure.

class TextAdventure
{
    public static void main(String args[])
    throws java.io.IOException
    {
        System.out.println("\t\t BASIC TEXT ADVENTURE");


        // variables I need, attributes, classes, character name, player's choice, gold
        int str = 0, inte = 0, chr = 0, con = 0, dex = 0, gold;
        char charName, choice;

        System.out.println("Welcome player! You are about to embark upon a quest in the form of a text adventure.");
        System.out.println("You will make choices, fight monsters, and seek treasure. Come back victorious and you");
        System.out.println("could quite possibly buy your way into nobility!");
        System.out.println();


caseChoice: {       
        System.out.println("Please select your class:");
        System.out.println("1. Warrior");
        System.out.println("2. Mage");
        System.out.println("3. Rogue");
        System.out.println("4. Archer");

        choice = (char) System.in.read(); // Get players choice of class



        switch(choice)
        {
        case '1': 
            System.out.println("You have chosen the Warrior class!");
            System.out.println("You're stats are as followed:");
            System.out.println("Str: 16");
            System.out.println("Int: 11");
            System.out.println("Chr: 14");
            System.out.println("Con: 15");
            System.out.println("Dex: 9");
            str = 16; 
            inte = 11;
            chr = 14;
            con = 15;
            dex = 9;
            break;

        case '2':
            System.out.println("You have chosen the Mage class!");
            System.out.println("You're stats are as followed:");
            System.out.println("Str: 16");
            System.out.println("Int: 11");
            System.out.println("Chr: 14");
            System.out.println("Con: 15");
            System.out.println("Dex: 9");
            str = 9; 
            inte = 16;
            chr = 14;
            con = 15;
            dex = 11;
            break;

        case '3':
            System.out.println("You have chosen the Rogue class!");
            System.out.println("You're stats are as followed:");
            System.out.println("Str: 16");
            System.out.println("Int: 11");
            System.out.println("Chr: 14");
            System.out.println("Con: 15");
            System.out.println("Dex: 9");
            str = 15; 
            inte = 11;
            chr = 14;
            con = 9;
            dex = 16;
            break;

        case '4':
            System.out.println("You have chosen the Archer class!");
            System.out.println("You're stats are as followed:");
            System.out.println("Str: 16");
            System.out.println("Int: 11");
            System.out.println("Chr: 14");
            System.out.println("Con: 15");
            System.out.println("Dex: 9");
            str = 9; 
            inte = 11;
            chr = 14;
            con = 15;
            dex = 16;
            break;

            default:
                System.out.println("Not a valid choice, please enter a digit 1-4");
                break caseChoice;

        }

}

    }
}

Цель оператора по умолчанию в коммутаторе - вернуть поток кода обратно к выбору класса. Я НЕ получаю ошибку компиляции или ошибку времени выполнения. Когда вы выбираете что-либо, кроме 1, 2, 3 или 4. Он говорит «Неправильный выбор, пожалуйста, введите цифру 1-4», как это и должно быть, но программа заканчивается.

Разве мне не разрешено использовать такую ​​метку в выключателе? Или это не работает, потому что это технически вне блока кода?

Ответы на вопрос(3)

Ваш ответ на вопрос