Citat:
Ursprungligen postat av Janejja
Försöker få min JLabel, vars referens heter svar, att ändra text när jag matar in fel värde och ett undantag kastas av typen NumberFormatException. Men av någon anledning ändras texten bara hela tiden till från "Ditt BMI-värde är: " till "Ditt BMI-värde är: NaN". Varför?
bmi, vikt och längd är double's som är deklarerade i den omringande klassen (utanför konstruktorn). weight och length är JTextField's som är deklarerade på samma ställen som bmi, vikt och längd.
class Lyssnare implements ActionListener
{
public void actionPerformed(ActionEvent ave)
{
try
{
längd = Double.parseDouble(length.getText());
}
catch(NumberFormatException e)
{
svar.setText("Felaktig längd-inmatning!");
}
try
{
vikt = Double.parseDouble(weight.getText());
}
catch(NumberFormatException e)
{
svar.setText("Felaktig längd-inmatning!");
}
bmi = vikt/(längd*längd);
svar.setText("Ditt BMI-värde är: " + bmi);
}
}
NaN = Not a number, det får du av floatar som inte kan användas som floatar. Nånting säger mig att du får in konstiga värden i antingen din längd eller viktvariabel och att resultatet av din division blir NaN sedan.
För övrigt ska du använda CODE eller PHP-taggarna när du postar kod.