PDA

View Full Version : java ciclo while


biergepo
25-07-2012, 10:44
Ciao a tutti! Domanda semplice semplice semplice per voi esperti programmatori. Devo trasformare un programma che utilizza un ciclo for in ciclo while, il programma è questo:

for (i = 1; i <= 5; i++) {
for (j = 1; j <= 10; j++)
System.out.print("*");
System.out.println();
}

e mi visualizza in stampa:

**********
**********
**********
**********
**********

il programma l'ho riscritto così:

i = 1;
j = 1;

while (i <= 5) {
while (j <= 10) {
System.out.print("*");
i = i + 1;
}
System.out.println();
j = j + 1;
}

però in output mi da un riga di 10 asterischi e 5 righe vuote :muro: .
Dove sbaglio??

banryu79
25-07-2012, 12:13
Nel codice, devi dichiarare j nello scope locale al while interno e poi hai invertito le posizioni in cui incrementi i contatori (i e j).

Ecco una versione simile alla tua:

int i = 0;
while (i++ < 5) {
int j = 0;
while (j++ < 10) System.out.print("*");
System.out.println();
}

biergepo
25-07-2012, 12:37
Nel codice, devi dichiarare j nello scope locale al while interno e poi hai invertito le posizioni in cui incrementi i contatori (i e j).

Ecco una versione simile alla tua:

int i = 0;
while (i++ < 5) {
int j = 0;
while (j++ < 10) System.out.print("*");
System.out.println();
}


:doh: grazie!! ;)