有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java乘法测验,如果答案错误,如何循环

我正在用Java编写一个程序,向用户询问乘法问题,如“3*8是什么”。目前,无论用户输入的答案是正确的还是错误的,程序都只会在输入后问一个新问题,我想知道如何让它继续问相同的问题,直到用户输入正确的答案:

import javax.swing.JOptionPane;

import java.util.Random;

public class Multi {

    public static void main(String[] args) {

        Random number = new Random();

        while (true) {

            int nmb1 = number.nextInt(10) + 1;
            int nmb2 = number.nextInt(10) + 1;
            int multi = nmb1 * nmb2;

            int question = Integer.parseInt(JOptionPane.showInputDialog("How much is" + nmb1 + "*" + nmb2));

            if (question == multi) {
                JOptionPane.showMessageDialog(null, "Right");
            } else {
                JOptionPane.showMessageDialog(null, "Wrong, try again");
            }
        }
    }

}

我想我需要在其他部分添加一些内容,但我不知道是什么。我看了一些类似的问题,但这些问题没有使用JOptionPane,因此没有真正的帮助


共 (1) 个答案

  1. # 1 楼答案

    只需添加do...while块,重复相同的问答循环,直到用户键入正确答案:

    import java.util.Random;
    import javax.swing.JOptionPane;
    
    public class Main {
    
        public static void main(String[] args) {
    
            Random number = new Random();
    
            while (true) {
    
                int nmb1 = number.nextInt(10) + 1;
                int nmb2 = number.nextInt(10) + 1;
                int multi = nmb1 * nmb2;
                int question;
    
                // read the user's input ...
                do {
                    question = Integer.parseInt(JOptionPane.showInputDialog("How much is" + nmb1 + "*" + nmb2));
    
                    if (question != multi) {
                        JOptionPane.showMessageDialog(null, "Wrong, try again");
                    }
                }
                while (question != multi);
                // .. and repeat until the user types the correct answer
    
                JOptionPane.showMessageDialog(null, "Right");
            }
        }
    }