Несколько вариантов из JOptionPane с использованием цикла while - PullRequest
0 голосов
/ 01 ноября 2019

Я пытаюсь сделать "кто хочет стать миллионером?"альтернатива с использованием JOptionPane. Я пытаюсь понять, как перейти от одной петли к другой. Я использую цикл для "Это ваш окончательный ответ?"разделите каждый вопрос, и я просто не могу понять, как перейти от одного цикла к другому. Пожалуйста, помогите мне. Спасибо. это мой код между прочим:

{
    String ans;
    char choice;
    boolean rep = true, more = true;
    int no;

    JOptionPane.showMessageDialog(null, "welcome to blablabla");

    while (more) {
        while (rep) {
            ans = JOptionPane.showInputDialog("How old am I?"
                    + "\nA "//answer
                    + "\nB "
                    + "\nC "
                    + "\nD "
                    + "\nChoose from (A/B/C/D)");
            choice = ans.charAt(0);
            switch (choice) {
                case 'A':
                case 'a': {
                    no = JOptionPane.YES_NO_OPTION;
                    no = JOptionPane.showConfirmDialog(null, "is this your final answer?", "continue", no);

                    if (no == JOptionPane.YES_OPTION) {
                        rep = false;
                        JOptionPane.showMessageDialog(null, "you got the right answer!");
                        JOptionPane.showMessageDialog(null, "Let's prceed to the next question");
                        break;
                    }
                }
                break;
                case 'B':
                case 'b':
                case 'C':
                case 'c':
                case 'D':
                case 'd': {
                    no = JOptionPane.YES_NO_OPTION;
                    no = JOptionPane.showConfirmDialog(null, "is this your final answer?", "continue", no);

                    if (no == JOptionPane.YES_OPTION) {
                        rep = false;
                        JOptionPane.showMessageDialog(null, "you got the wrong answer!");
                    }
                }
                break;
            }
        }
        while (rep) {
            ans = JOptionPane.showInputDialog("How old are you?"
                    + "\nA "
                    + "\nB "//answer
                    + "\nC "
                    + "\nD "
                    + "\nChoose from (A/B/C/D)");
            choice = ans.charAt(0);
            switch (choice) {
                case 'B':
                case 'b': {
                    no = JOptionPane.YES_NO_OPTION;
                    no = JOptionPane.showConfirmDialog(null, "is this your final answer?", "continue", no);

                    if (no == JOptionPane.YES_OPTION) {
                        rep = false;
                        JOptionPane.showMessageDialog(null, "you got the right answer!");
                    }
                }
                break;
                case 'A':
                case 'a':
                case 'C':
                case 'c':
                case 'D':
                case 'd': {
                    no = JOptionPane.YES_NO_OPTION;
                    no = JOptionPane.showConfirmDialog(null, "is this your final answer?", "continue", no);

                    if (no == JOptionPane.YES_OPTION) {
                        rep = false;
                        JOptionPane.showMessageDialog(null, "you got the wrong answer!");
                    }
                }
                break;
            }
        }
    }
}

Пожалуйста, помогите мне, ребята. спасибо.

...