Tach Leute,
wie die anderen habe auch ich Probleme einen ordentlichen BMI Rechner zu erstellen. Die meisten eurer Tipps waren hilfreich :toll: . Jedoch wird mein BMI Rechner zwar geöffnet aber er macht nichts. Zudem kommen immer Fehlermeldungen.
und als Fehlermeldung erscheint immer
Exception in thread "main" java.lang.NumberFormatException: empty String
at sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source)
at java.lang.Double.parseDouble(Unknown Source)
at BMI3.<init>(BMI3.java:81)
at BMI3.main(BMI3.java:104)
was habe ich falsch gemacht und was muss ich verbessern?
Gruß
wie die anderen habe auch ich Probleme einen ordentlichen BMI Rechner zu erstellen. Die meisten eurer Tipps waren hilfreich :toll: . Jedoch wird mein BMI Rechner zwar geöffnet aber er macht nichts. Zudem kommen immer Fehlermeldungen.
Java:
import java.awt.Color;
import java.awt.Dimension;
import java.awt.TextField;
import java.awt.event.*;
import javax.swing.*;
import java.text.DecimalFormat;
import java.text.NumberFormat;
public class BMI3 extends JFrame {
JTextField tf_ein = new JTextField();
JTextField tf_ein1 = new JTextField();
TextField tf_aus = new TextField();
TextField tf_aus1 = new TextField();
JLabel myL01 = new JLabel("Körpergröße");
JLabel myL03 = new JLabel("Ergebnis: ");
JLabel myL02 = new JLabel("Gewicht");
JLabel myL04 = new JLabel("Meter");
JLabel myL05 = new JLabel("Kg");
JLabel myL07 = new JLabel("Diagnose:");
double Masse,Körpergröße,ergebnis;
DecimalFormat df = new DecimalFormat("0.000");
public BMI3() {
JPanel myP = new JPanel();
myP.setLayout(null);
myP.setBackground(Color.YELLOW);
JButton myB = new JButton("Berechne BMI");
JButton myB02 = new JButton("Ende");
myB.setBackground(Color.RED);myB02.setBackground(Color.RED);
myB.setToolTipText("Hier drücken, um Ergebnis zu erhalten ");
myB02.setToolTipText("Hier wird das Programm beendet");
myB.setBounds(10,250, 150, 30); myB02.setBounds(200,250,150,30);
myL01.setBounds(10,30, 300, 30);
myL02.setBounds(10, 100,1000, 30);
myL03.setBounds(200,40,200,20);
myL04.setBounds(70,70,200,20);
myL05.setBounds(70,150,200,20);
myL07.setBounds(200,120,200,20);
tf_ein.setBounds(10,60, 50, 30);
tf_ein1.setBounds(10,140,50,30);
tf_aus.setBounds(200, 60, 200, 21);
tf_aus1.setBounds(200, 140, 200, 21);
add(myP);
myP.add(myB);myP.add(myB02);
myP.add(tf_ein); myP.add(tf_ein1);myP.add(tf_aus);myP.add(tf_aus1);myP.add(myL07);
myP.add(myL01); myP.add(myL02);myP.add(myL03);myP.add(myL04);myP.add(myL05);
setTitle("Body Mass Index");
setPreferredSize(new Dimension(450,450));
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
setVisible(true);
tf_aus.setText("");
tf_aus1.setText("");
myB.addActionListener(new ActionListener() {
@SuppressWarnings("unused")
public void myBActionPerformed(ActionEvent evt) {
myBActionPerformed (evt);}
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
}});
myB02.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
System.exit(0);
}});
double Masse = Double.parseDouble(tf_ein.getText());
double Körpergröße = Double.parseDouble(tf_ein1.getText());
double ergebnis = Masse / (Körpergröße * Körpergröße);
String bemerkung="Ungültiger BMI";
if(ergebnis>0){bemerkung="Starkes Untergewicht";}
if(ergebnis>16){bemerkung="Mäßiges Untergewicht";}
if(ergebnis>17){bemerkung="Leichtes Untergewicht";}
if(ergebnis>18.5){bemerkung="Normalgewicht";}
if(ergebnis>25){bemerkung="Präadipositas";}
if(ergebnis>30){bemerkung="Adipositas Grad I";}
if(ergebnis>35){bemerkung="Adipositas Grad II";}
if(ergebnis>40){bemerkung="Adipositas Grad III";}
tf_aus1.setText(bemerkung);
;
}
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
;
}
public static void main(String[ ] args) {
BMI3 myFenster = new BMI3();
}
{
}
}
und als Fehlermeldung erscheint immer
Exception in thread "main" java.lang.NumberFormatException: empty String
at sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source)
at java.lang.Double.parseDouble(Unknown Source)
at BMI3.<init>(BMI3.java:81)
at BMI3.main(BMI3.java:104)
was habe ich falsch gemacht und was muss ich verbessern?
Gruß