Test Foro de elhacker.net SMF 2.1

Programación => Programación General => Java => Mensaje iniciado por: *-.Sub-Vorbio.-* en 12 Noviembre 2008, 18:33 PM

Título: c-=++a/b-3+a%b; d-=++a/(b+3-4*a)%b; //Explicación...
Publicado por: *-.Sub-Vorbio.-* en 12 Noviembre 2008, 18:33 PM
Me tiene udido est código, no ntiendo por k opera unas cosas y otras no, o algo así...

public static void main (String [] args){

int a=5,b=3,c=20,d=20;
c-=++a/b-3+a%b;
d-=++a/(b+3-4*a)%b;

System.out.println("c:" + c);
System.out.println("d:" + d);

}


Por que este código da esto... ¿cual es la operación que hace? :S

c:21
d:20
Título: Re: c-=++a/b-3+a%b; d-=++a/(b+3-4*a)%b; //Explicación...
Publicado por: juancho77 en 12 Noviembre 2008, 18:45 PM
Estas preguntando esto en serio? Amigo, asi nunca vas a aprender nada de nada  :xD

c-=++a/b-3+a%b;

Esta instruccion (-=) equivale a c = c - loquesea. Es decir, le quita a c todo lo que indiques despuesn del simbolo "=".
El operador ++ incrementa en uno la variable a la que esta aplicada. Es unario. Si es ++a primero suma y luego opera con el resto de la expresion.
El operado % es el operador modulo, y retorna el resto de hacer la division entera entre dos int's.
El resto de la expresion ya te imaginaras como resolverla: java aplica los mismos ordenes de precedencia que la matematica usual.
Título: Re: c-=++a/b-3+a%b; d-=++a/(b+3-4*a)%b; //Explicación...
Publicado por: *-.Sub-Vorbio.-* en 12 Noviembre 2008, 21:09 PM
Te aseguro que iré aprendiendo poco a poco.
Título: Re: c-=++a/b-3+a%b; d-=++a/(b+3-4*a)%b; //Explicación...
Publicado por: juancho77 en 12 Noviembre 2008, 21:49 PM
Es que te lo digo con la mejor onda amigo. Porque las preguntas que haces las tienes respondidas en los capitulos 1 y 2 de cualquier libro de programacion (ni siquiera tiene que ser de java). Creo que tomarte unas horas para leerte esos capitulos te ayudaria mucho mas que perder tiempo por aca para que nosotros te hagamos los ejercicios.
Me entiendes ahora?
No era mi intencion tener mala onda contigo.