ฉันกำลังพยายามทำให้สวิตช์เคสของฉันวนกลับอีกครั้งหากพวกเขาทำให้ผู้ใช้ได้รับค่าเริ่มต้น

Aug 18 2020

ฉันไม่พบลูปที่จะใช้ที่จะนำมันกลับไปที่จุดเริ่มต้นของเคสสวิตช์และทำซ้ำ ๆ จนกว่าผู้ใช้จะตอบโดยใช้ตัวเลือกใดตัวเลือกหนึ่งความช่วยเหลือใด ๆ จะยอดเยี่ยมมาก! ขอบคุณ. (ฉันได้ลองใช้ do-while loop ที่มีคนแนะนำ แต่ดูเหมือนว่าจะเป็นสแปมค่าเริ่มต้น) ((ซึ่งฉันทิ้งไว้ในโค้ด))

public static void main(String[] args) {

    Scanner input = new Scanner(System.in);


    System.out.println("    Welcome To The Choices Game...    ");
    System.out.println("Please enter your name: ");

    String playerName = input.nextLine();

    System.out.println("What is " + playerName + "'s" + " favorite pet?");
    System.out.println("a. Dog \nb. Cat");

    //Choice of choosing a dog or a cat
    String pet = input.next();
    do {


        switch (pet.charAt(0)) {
            case 'a' -> {
                System.out.println("What is your dog's name? ");
                String dogsName = input.next();
                System.out.println("Your Character's Name is: " + playerName + "\nYour Pet's Name is: " + dogsName);
                break;
            }
            case 'b' -> {
                System.out.println("What is your cat's name? ");
                String catsName = input.next();
                System.out.println("Character Name: " + playerName + "\nPet Name: " + catsName);
                break;
            }
            default -> System.out.println("That is not a valid option. Please choose again.");
        }

    } while (pet.charAt(0) != 'a' && pet.charAt(0) != 'b');

    input.close();

}

คำตอบ

1 notescrew Aug 18 2020 at 00:03

คุณต้องป้อนข้อมูลสำหรับ Cat / Dog (ตัวเลือก a หรือตัวเลือก b) ภายในลูป do เพื่อให้หลังจากใส่รหัสผิดสามารถขอข้อมูลที่อัปเดตได้ ดังต่อไปนี้:

public static void main(String[] args) {

        Scanner input = new Scanner(System.in);

        System.out.println("    Welcome To The Choices Game...    ");
        System.out.println("Please enter your name: ");

        String playerName = input.nextLine();

        System.out.println("What is " + playerName + "'s" + " favorite pet?");
        System.out.println("a. Dog \nb. Cat");

        // Here is change in code
        String pet = null;
        do {
            // Choice of choosing a dog or a cat
            // Here is change in code
            pet = input.next();
            switch (pet.charAt(0)) {
            case 'a': {
                System.out.println("What is your dog's name? ");
                String dogsName = input.next();
                System.out.println("Your Character's Name is: " + playerName + "\nYour Pet's Name is: " + dogsName);
                break;
            }
            case 'b': {
                System.out.println("What is your cat's name? ");
                String catsName = input.next();
                System.out.println("Character Name: " + playerName + "\nPet Name: " + catsName);
                break;
            }
            default: {
                System.out.println("That is not a valid option. Please choose again.");
            }
            }

        } while (pet.charAt(0) != 'a' && pet.charAt(0) != 'b');

        input.close();

    }