Dobrý den,
ve svém menším programu jsem narazil na menší problém - dělám program na výpočet BMI a Bazálního metabolismu a zajímalo by mě, jak mám zaokrouhlit číslo třeba na dvě desetiny. Datový typ je double, takže je tam těch desetinných míst hrozně moc!
public class Okno extends JFrame {
int sirka, vyska;
String konto;
private JLabel lab, lab1, lab2, lab3, lab4, lab5, vysledek;
double zvaha, zvyska, zvek, BM, BMI;
private JRadioButton zena, muz;
private JTextField vaha, vyska1, vek;
private JButton vypocitej;
private Container obsah;
.
.
.
public void BM(ActionEvent e){
BM=66.473+(13.7516*this.zvaha)+(5.0033*this.zvyska)-(6.755*this.zvek);
BMI=zvaha/((this.zvyska/100)*(this.zvyska/100));
if(BMI<=19){
konto="nízká. Pokuste se Vaši váhu zvýšit, jinak Vám hrozí zdravotní rizika!";
}
if(BMI>=19 || BMI<22){
konto="normální. Nicméně nemáte daleko od podvýživy...";
}
if (BMI<=22 || BMI>=24) {
konto="naprosto ideální! Vaši váhu si udržujte!";
}
if (BMI>=24 || BMI<25) {
konto="normální. Nicméně nemáte daleko od obézity!";
}
if (BMI>=25){
konto="vysoká! Pokuste se Vaši váhu snížit, jinak Vám hrozí zdravotní rizika!";
}
showMessageDialog(this, " Váš bazální metabolismus je "+BM+". Znamená to, že byste za den měli příjmout "+BM+" Kcal.\nHodnota vašeho BMI je "+BMI+", což je "+konto, "Výsledek", INFORMATION_MESSAGE);
}
}
A další menší dotaz - jak mám v GUI nastavit výjimky? Chtěl bych zamezit případných chybám při zadávání, ale nevím, kam přesně příkaz try vložit... Že by takhle?
public void zadanaVyska(FocusEvent e){
try{
this.zvyska=Integer.parseInt(vyska1.getText());
}
catch(ArithmeticException e){
showMessageDialog(this, " Špatně zadané číslo", "Výstraha", INFORMATION_MESSAGE);
}
}
Předem děkuji za odpověďi