Formatar float duas casas decimais no JAVA 1.1

6 respostas
felixcomputer

Pessoal, tow participando do programming challenges, um site com desafios de programação, só que durante os programas, a versão do java que o site utiliza para analisar os problemas é o JDK 1.1 e naum existe o number format, nem printf, essas coisas…
Gostaria de saber como formatar duas casas decimais nesse java,
vls

6 Respostas

T

Java 1.1? Está brincando…

Mas que eu saiba, java.text.DecimalFormat (que você usa para formatar com 2 casas) está disponível no Java 1.1 (mesmo na implementação da Microsoft, que provavelmente é a que o pessoal desse concurso está usando).

Essas coisas que você está citando só existem no Java 5.0 em diante.

felixcomputer

Na verdade, eles usam o gcj , que é o compilador feito pela GNU, e é muito ruim, as vezes ele diz que houve um erro fatal…
Nessa versão naum existe ainda o método Float.parseFloat(), como muitas outras coisas.
Eu resolvi isso meio que com gambiarra, multipliquei por 100, para tirar as casas decimais, depois converti pra String e imprimi colocando um ponto na posicão length -2.
Meu problema obteve resultados corretos para os testes dados, mas teve Wrong Answer como resposta. :?

T

Que versão do gcj você está usando?
Que eu saiba, ele deve aceitar até as classes do Java 1.4 (dependendo da versão).

felixcomputer

No site do programming challenges tem a seguinte nota sobre o gcj
[i]
Notes about Java support
The current support for Java platform is provided by a standard gcj 2.95 installation (gcj 2.96 or 3.0 provided by RedHat 7.2 does not compiles properly java programs in static mode, required by the judge).

This installation supports most JDK 1.1 and 1.2 features (but not the whole set). We hope to upgrade to latest compiler version to add support for the missing functions (i.e. BigInteger). However, GNU pascal compiler is not compatible with gcc installations above 2.95 release (we’ll need to compile the latest gcc version to simultaneously run gcj 3 in a different location). Please, be patient about the Java support… we agree about using all Java features (as we currently agree with C++ enhancements over C).

Note: Most of java interesting funtions are available. We only have restricted some package sections (or the entire package) to avoid network, disk or threads use. Most classes restricted are from one of the following packages:

applet, awt, beans, io, lang.Thread, net, nio, rmi, security, sql, accessibility, crypto, imageio, naming, print, sound, swing [/i]

Mas quando a gente posta, geralmente vem com muitos erros, como o parseFloat. Como vc faria pra formatar duas casas decimais no JDK 1.1?

T

Nossa, que precário - e ainda lhe respondeu “wrong answer”? Eu teria feito o mesmo que você fez (multiplicar por 100, e inserir um ponto na antepenúltima posição).

Nem sei onde arranjar um gcj 2.95; normalmente quando você instala um Linux hoje em dia, você tem o gcc 3.X ou 4.

felixcomputer

Valeu a força thingol!! :lol:

Criado 24 de abril de 2007
Ultima resposta 26 de abr. de 2007
Respostas 6
Participantes 2