ERROR: floating-point constants should not appear

Antamack
29 de Agosto del 2005
Estoy haciendo mi primer programa para j2me. Es un programa muy sencillo en el cual el usuario introduce el dia, mes y año q desee y obtiene el dia de la semana q le corresponde. Siempre que empiezo con algun lenguaje nuevo este suele ser mi primer programa (un HelloWorld avanzado ;-) )

La cuestión es que al compilarlo me da el siguiente error:

ERROR: floating-point constants should not appear
Error preverifying class DayWeek
com.sun.kvem.ktools.ExecutionException: Preverifier returned 1
Build failed

Pero yo no tengo ningún float ni double por ningún lado ya q lei q no se podian usar en j2me por la sencillez de su jvm.

Lo que si q tengo es lo siguiente:

int calcul = dia + 5 * c + a + ((int) (2.6 * mes - 0.2)) + ((int) a / 4) + ((int) c / 4);

Es decir tengo valores decimales pero hago cast a int y en ningún momento guardo ninguna variable float o double.

Pese a esto, ese es el problema? No se puede trabajar de ninguna manera con nada q no sea int?

Si es así no entiendo como la gente hace las calculadoras, conversores de moneda... Con la libreria Math quizá?

Como veis es una duda quizá un poco tonta pero q me lleva un poco loco.

Gracias.

Snookie
29 de Agosto del 2005
Saludos
J2ME no soporta operaciones de punto flotante. esto es porque los dispositivos no lo hacen tampoco y porque emularlas por sw quemaría mucha máquina. Ese "cast" no es recomenadable, si es que se puede hacer(personalmente no lo he hecho así nunca).

Tenés que revisar qué botan las operaciones y ver cómo redondear pa que no boten decimales. Voy a echarle una ojeada al paquete Math y te cuento si encuentro algo. Suerte!!

Snookie
29 de Agosto del 2005
Saludos
¿Paquete dije? es una clase. Tal vez si probás con ceil o floor. O usás la clase Calendar con la Date del paquete java.util te sirva....