Boas,
estou aprendendo java e estou tendo dificuldades pra finalizar um programinha de conversão de fahrenheit para celsius que fiz...não sei se é erro de lógica ou algum outro. Eu faço os cálculos de conversão e tento jogar o resultado em um JTextField que desabilitei para servir apenas como uma caixa que mostra os resultados das conversões. O erro que está acontecendo é que está aparecendo na caixa de texto o valor "-0.0" depois que mando calcular a conversão, independente do valor que se mande calcular.
Aqui está a imagem do erro:
[img]http://img36.imageshack.us/img36/4527/erroconversao.png[/img]
E aqui está o source:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Conversao extends JFrame
{
JLabel mensagem;
JButton botao;
JTextField caixaTexto1, caixaTexto2;
Conversao()
{
this.setTitle("Conversão v1.0");
this.setLayout(new GridLayout(2,2));
this.setResizable(false);
this.setSize(300, 80);
this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
mensagem = new JLabel("Graus em Fahrenheit: ");
botao = new JButton("Calcular");
caixaTexto1 = new JTextField();
caixaTexto2 = new JTextField();
caixaTexto2.setEditable(false);
botao.addActionListener(new calcular());
add(mensagem);
add(caixaTexto1);
add(botao);
add(caixaTexto2);
}
private class calcular implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
double temperaturaCelsius = 0;
double temperaturaFahrenheit = 0;
try
{
temperaturaFahrenheit = Double.parseDouble(caixaTexto1.getText());
// fórmula do Fahrenheit para Celcius: resultadoCelsius = 5 / 9 * (? - 32)
temperaturaCelsius = ( 5 / 9 * (temperaturaFahrenheit - 32) );
caixaTexto2.setText(String.valueOf(temperaturaCelsius));
}
catch (NumberFormatException excecao) // se entrar com letras na caixa de texto
{
JOptionPane.showMessageDialog(null,"Valor digitado inválido","Entre com valor numérico",JOptionPane.ERROR_MESSAGE);
}
}
}
public static void main(String args[])
{
Conversao programa = new Conversao();
programa.setVisible(true);
}
}
Grato se alguém puder ajudar!

