Foro de elhacker.net

Programación => Java => Mensaje iniciado por: Minina89 en 14 Enero 2013, 00:12 am



Título: Ayuda con código (aprendiendo java)
Publicado por: Minina89 en 14 Enero 2013, 00:12 am
Hola.

Soy nueva en el foro y ando buscando algo de ayuda, por favor tener en cuenta que estoy iniciando en esto. Si me salto alguna regla es por que en este preciso momento necesito salir del apuro y que alguien conteste mi pregunta, por ende, no leído ninguna regla si es que las tienen. Y más adelante es muy posible que me lea las normas.

Bueno al grano.

Necesito ayuda con éste código:

Código:
dos.setAtr4(dos.getAtr4()+dos.getAtr4()*x/100);

No compila ya que el error dice lo siguiente:

"setAtr4(short) in Control1 cannot be applied to (int).

El IDE que uso es BlueJ y es -creo- lo único que está fallando y quisiera saber por qué.  :huh:

Lo que me pide el ejercicio es modificar en x% en el App, el valor que tiene atr4 que es un dato de tipo short.
Se me ocurre que es necesario castear?, pero no sabría como hacerlo si esto se hace en el App...

Atentamente.

Una novata XD

PD: De antemano gracias por la ayuda que puedan brindarme.



Título: Re: Ayuda con código (aprendiendo java)
Publicado por: juancaa en 14 Enero 2013, 00:45 am
Suponiendo que el metodo setAtr4(); debas pasarle como parametro un short lo que debes hacer es:

Código
  1. dos.setAtr4((short)(dos.getAtr4()+dos.getAtr4()*x/100f));

La f es para que la division la efectue como un float y no pierdas precision y despues de hacer toda la operacion castear a short tal y como digo... No se si funcionara...  ;D


Título: Re: Ayuda con código (aprendiendo java)
Publicado por: Minina89 en 14 Enero 2013, 01:09 am
Siii!!
Funcionó!

Ahora tengo que solucionar unos problemas con las salidas de pantalla...
que sospecho que están en el App.


Pero muchas gracias!

;)