DaSashStYle
Mitglied
Ich wende mich wieder mit einem problem an euch, in der hoffnung, dass mir jemand helfen kann.
Ich arbeite im moment mir dem Programm BlueJ und habe eine Fehlermeldung die ich nciht nachvollziehen kann.
Das ist mein Script:
Wenn ich dies nun Compiliere kommt die Fehlermeldung: "variable ergebnis might not have been initialized" springen tut der Curser in meinem Code dann auf die oben makierte Stelle.
Was ist hier der Fehler? Hoffe mir kann jemand weiterhelfen.
Ich arbeite im moment mir dem Programm BlueJ und habe eine Fehlermeldung die ich nciht nachvollziehen kann.
Das ist mein Script:
Code:
import java.awt.*;
import java.awt.event.*;
public class MyFrame extends Frame implements ActionListener, WindowListener
{
Label labelSize, labelWeight, labelResult, labelName, labelAlter, labelGeschlecht;
TextField tfSize, tfWeight, tfName, tfAlter, tfGeschlecht;
Button btOK;
String geschlecht2=new String("m");
String geschlecht;
public MyFrame()
{
setLayout(new GridLayout(3, 2));
setSize(600, 220);
labelSize = new Label("Ihre Körpergröße in cm:");
labelWeight = new Label("Ihr Gewicht in kg:");
labelResult = new Label();
labelName = new Label("Ihr Name: ");
labelAlter = new Label ("Ihr Alter: ");
labelGeschlecht = new Label("w oder m?");
tfSize = new TextField();
tfWeight = new TextField();
tfName = new TextField();
tfAlter = new TextField();
tfGeschlecht = new TextField();
btOK = new Button("OK");
btOK.addActionListener(this);
add(labelSize);
add(tfSize);
add(labelWeight);
add(tfWeight);
add(labelName);
add(tfName);
add(labelAlter);
add(tfAlter);
add(labelGeschlecht);
add(tfGeschlecht);
add(labelResult);
add(btOK);
addWindowListener(this);
}
public int normalgewicht (int groesse, String geschlecht)
{
int ergebnis;
if (geschlecht.equals("m"))
{
ergebnis=groesse-100;
}
else if (geschlecht.equals("w"))
{
ergebnis=groesse-110;
}
return ergebnis; //Hier springt der Cursor hin.
}
public double idealgewicht (int groesse, String geschlecht)
{
double ergebnis;
if (geschlecht.equals("m"))
{
ergebnis=normalgewicht(groesse, geschlecht)*0.9;
}
else if (geschlecht.equals("w"))
{
ergebnis=normalgewicht(groesse, geschlecht)*0.85;
}
return ergebnis; //Hier wird es denke ich mal auch Probleme geben.
}
public boolean altersueberpruefung (int alter, String name)
{
boolean uebergabe=true;
if (alter<=14)
{
uebergabe=false;
labelResult.setText(name+ " Sie sind zu jung, der Test nicht für Sie geeignet");
}
}
public void auswerten(int groesse, String geschlecht, int gewicht, String name)
{
if (normalgewicht(groesse, geschlecht)*1.09<gewicht)
{
labelResult.setText(name+ " Sie haben übelst Übergewicht!");
}
else if (idealgewicht(groesse, geschlecht)*0.91>gewicht)
{
labelResult.setText(name+ " Sie haben übelst Untergewicht!");
}
else
{
labelResult.setText(name+ " Sie sind Sexy!");
}
}
public void actionPerformed(ActionEvent ev)
{
int alter = Integer.parseInt(tfAlter.getText());
geschlecht = tfGeschlecht.getText();
int groesse = Integer.parseInt(tfSize.getText());
int gewicht = Integer.parseInt(tfWeight.getText());
String name = new String(tfName.getText());
if(altersueberpruefung(alter, name))
{
auswerten(groesse, geschlecht, gewicht, name);
}
}
public void windowClosing(WindowEvent ev)
{
setVisible(false);
dispose();
}
public void windowActivated(WindowEvent ev) { }
public void windowClosed(WindowEvent ev) { }
public void windowDeactivated(WindowEvent ev) { }
public void windowDeiconified(WindowEvent ev) { }
public void windowIconified(WindowEvent ev) { }
public void windowOpened(WindowEvent ev) { }
}
Wenn ich dies nun Compiliere kommt die Fehlermeldung: "variable ergebnis might not have been initialized" springen tut der Curser in meinem Code dann auf die oben makierte Stelle.
Was ist hier der Fehler? Hoffe mir kann jemand weiterhelfen.