0

これは私がこれまでに持っているコードです。ランダムな文字を入力して、正しい if ステートメントが機能するかどうかをテストしようとしました (quit も入力しました)。

ただし、入力を入力しても何も起こらないのですが、その理由は何ですか?

前もって感謝します。

 public static void main(String[] args) {

//==============================================================================        
        // Opening Message.
        Scanner scan = new Scanner(System.in);
        System.out.print("Welcome to the Theatre Booking System. (QUIT to exit)"
                + "\nWould you like to purchase tickets or list available seats?"
                + "(Purchase/List/Help)");
        scan.nextLine();
        String answer;

        answer = scan.nextLine();
        int count = 0;
//==============================================================================
        // Nested if statement.
        // First if statement.
        if (answer.equalsIgnoreCase("purchase")) {
            // Code for purchase  
        } else {
            if (answer.equalsIgnoreCase("list")) {
                // Code for list   
            } else {
                if (answer.equalsIgnoreCase("help")) {
                    // Code for help
                } else {
                    if (answer.equalsIgnoreCase("quit")) {
                        System.exit(-1);
                    } else {
                        do {
                            System.out.print("Sorry, incorrect input please enter"
                                    + " a valid input (Purchase/List/Help or QUIT to exit");
                            scan.nextLine();
                            count++;
                        } while (!answer.equalsIgnoreCase("purchase")
                                || !answer.equalsIgnoreCase("list")
                                || !answer.equalsIgnoreCase("quit")
                                || !answer.equalsIgnoreCase("help"));

                    }
                }
            }
        }
    }
}
4

1 に答える 1

1

2 つのscan.nextLine()ステートメントがあり、2 番目のステートメントを入力に使用します。そのため、最初に「Enter」を押してから、入力してからもう一度「Enter」を押す必要があります。

また、ネストされた場合は避けてください。if複数のelse ifブロックで同じものを直接使用できます

于 2012-10-24T04:46:59.887 に答える