Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Duda for

Estoy empezando y no consigo entender porqué esta sentencia imprime en pantalla

3457

public void print(){
int j=0;

for(int i=3;i<5;i++){
do{System.out.print(i+j);
j++;
}
while(j<3);

}

}

agosto 31, 2015 | Unregistered CommenterRubén

Hola @Ruben primero: el do while debes saber que la setencia do se ejecuta por lo menos una ves.

bueno aclarado esto vamos a los numeros (ejecutemos el programa)
en la primera iteración del for j=0, e i=3
primera interacion do while
operamos i+j=3
ejecutamos nuestra setencia print y escribe el 3
se aumenta j
j<3 si ( j vale 1)

segunda iteracion
operamos i+j=4
imprime 4
se aumenta j
j<3 si ( j vale 2)
tercera iteracion
operamos i+j=5 (3+2)
imprimo 5
aumentamos j
j<3 no (j vale 3)
se sale del ciclo do

el for aumenta i=4.
(como dije el do se ejecuta por lo menos una vez)
entonces operamos i+j=(4+3)=7
imprimimos 7
j<3 no (se sale del do while)

for aumenta i=5; i<5 no. se sale del for
como sabes print no hace salto de linea entonces tenemos los números
3457.

imagino que tu duda era porque imprime 7, pero es porque el do while se ejecuta por lo menos una vez.

espero verte aclarado la duda.

saludos.

agosto 31, 2015 | Unregistered Commenterjhosep

Muchísimas gracias me lo explicaste perfecto, ahora ya lo tengo claro

un saludo

Rubén

septiembre 1, 2015 | Unregistered CommenterRubén