[英]Do-while loop inside in for loop
我有一個無法使用Java循環進行類練習的問題。 我需要編寫一個程序,詢問10個隨機乘法表問題。 在這10個問題的末尾,它必須向我展示第一次的正確問題。 如果第一次遇到的問題不正確,則必須顯示失敗編號表,然后重新制定問題。
我的問題是,在10個問題中,對於正確的問題,我有一個if -else;對於其他問題,我有一個if-else,以重新制定問題。 問題是當我未能通過問題時,程序會按原樣重新安排它,但是如果我輸入正確的答案,則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中的類:
看起來您在兩個循環中都使用了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++;){
...
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.