Java - no entiendo operacion con while

   
Vista:

no entiendo operacion con while

Publicado por jonathan (1 intervención) el 04/08/2016 00:33:27
hola solo necesito saber si alguien es tan amable de explicarme de donde sale el numero 8 al ejecutar este fragmento de codigo en java netbeans me da como resultado un 8 :/ y no entiendo de donde diablos sale ya probe con la calculadora y me dan diferentes numeros he aqui mi problema;


1
2
3
4
5
6
7
8
9
10
11
12
13
class Sum0fDigitis{
    public static void main (String[] args){
        int i =521;
        int sum=0;
        while(i>0)
        {
            int r = i%10;
            sum=sum+r;
            i=i/10;
        }
        System.out.println(sum);
    }
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

no entiendo operacion con while

Publicado por Preguntas (2 intervenciones) el 04/08/2016 05:37:53
-- Primera vuelta: --

10 en 521 cabe 52 veces (mas decimales) da un resultado de 520, el resto da 1 (de 520 + 1). //otra cosa al recibir como int solo admite numeros enteros la variable r.

sum=0+1; //da 1

i=521/10; (da 52 //al ser una variable int)

-- segunda vuelta --

10 en 52 cabe 5 veces (mas decimales) da un resultado de 50, el resto da 2( de 50 + 2)

sum=1+2; // da 3

i=52/10; (da 5 y no 5.2 ya que es una variable int)

-- tercera vuelta --

10 en 5 cabe 0 veces (mas decimales) por lo que el resto es 0(en int).

sum= 3 + 5 // da 8

i=5/10 // da 0 y decimales (solo 0 al ser int)

-- cuarta vuelta --

NO HAY CUARTA VUELTA YA QUE AL SER I = 0 NO ENTRA EN EL BUCLE.

imprime sum (sum finalmente vale 8).

Ojala entiendas amigo (espero no haberme equivocado en las matematicas jaja.). Asi es como funciona tu programa.

Si tienes dudas me comentas.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

ya entiendo la operacion con while

Publicado por jonathan (1 intervención) el 04/08/2016 07:50:38
Hey gracias muy bien explicado, estoy empezando a estudiar esto de la programacion, y poco a poco voy comprendiendo, ya entendi como funciona este progamita, muchas gracias amigo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar