c-=++a/b-3+a%b; d-=++a/(b+3-4*a)%b; //Explicación...

Iniciado por *-.Sub-Vorbio.-*, 12 Noviembre 2008, 18:33 PM

0 Miembros y 1 Visitante están viendo este tema.

*-.Sub-Vorbio.-*

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
"Al clavo salido le toca siempre el martillazo."

"Cuando los elefantes luchan, la hierba es la que sufre."

juancho77

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.

*-.Sub-Vorbio.-*

#2
Te aseguro que iré aprendiendo poco a poco.
"Al clavo salido le toca siempre el martillazo."

"Cuando los elefantes luchan, la hierba es la que sufre."

juancho77

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.