Java 做while内循环for内循环

Java 做while内循环for内循环,java,loops,for-loop,if-statement,do-while,Java,Loops,For Loop,If Statement,Do While,我有一个问题,我不能用java循环来解决一个类练习。我需要做一个程序,问10个随机乘法表的问题。在10个问题的末尾,它必须向我展示第一次正确的问题。如果问题第一次出现错误,则必须显示失败编号表,然后重新制定问题 我的问题是,在10个问题的for中,我有一个if-else来表示正确的问题,而在else中,我有一个do-while来重新表述问题。问题是,当我的问题失败时,程序会按照它应该做的那样重新进行处理,但是如果我输入了正确的答案,do while循环会关闭for并停止提问 在演习中禁止使用数组

我有一个问题,我不能用java循环来解决一个类练习。我需要做一个程序,问10个随机乘法表的问题。在10个问题的末尾,它必须向我展示第一次正确的问题。如果问题第一次出现错误,则必须显示失败编号表,然后重新制定问题

我的问题是,在10个问题的for中,我有一个if-else来表示正确的问题,而在else中,我有一个do-while来重新表述问题。问题是,当我的问题失败时,程序会按照它应该做的那样重新进行处理,但是如果我输入了正确的答案,do while循环会关闭for并停止提问

在演习中禁止使用数组

代码如下:

for (int i=1; i<=10; i++) {
    Tablas operacion=new Tablas();

    int pregunta = Integer.parseInt(JOptionPane.showInputDialog(null, operacion.getNumeroPregunta()+"\n"+operacion.multiplicacion()));
    if (pregunta == operacion.resultado()) {
        Tablas.comprobadorPreguntas(true);
    }
    else {
        do {
        String salida="";
        for (i=1; i<=10; i++) {
            salida+=operacion.getMultiplicando() + "x"+i+"=" + (operacion.getMultiplicando() * i) + "\n";
        }
        JOptionPane.showMessageDialog(null, salida);
        pregunta = Integer.parseInt(JOptionPane.showInputDialog(null, operacion.getNumeroPregunta()+"\n"+operacion.multiplicacion()));
        } while(pregunta != operacion.resultado());
        Tablas.comprobadorPreguntas(false);
    }
}

JOptionPane.showMessageDialog( null, "Preguntas acertadas a la primera: "+Tablas.getContador());

for(int i=1;i

看起来您在两个循环中都使用了i。当执行do while循环时,它以i为10结束,因此当检查for循环条件时,i=10,for循环完成。尝试使用另一个变量-在内部循环中使用j是传统的-以避免这种情况

例如,下面是一组具有正确变量名的For循环的嵌套集合:

for(int i = 0; i < 10; i++){
    for(int j = 0; j < 10; j++;){
       ...
    }
}
for(int i=0;i<10;i++){
对于(int j=0;j<10;j++;){
...
}
}

现在一切正常。非常感谢您抽出时间。谢谢。