【发布时间】:2017-12-02 19:08:59
【问题描述】:
我有一个问题,我无法用 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());
这里也是 pastebin 中的类:
【问题讨论】:
标签: java loops for-loop if-statement do-while