Eclipse If/Else Verzweigung

chees29

Neues Mitglied
Hi,

Es soll überprüfen ob eine Kontonummer eingetragen ist (also KontoNr!=0), ist das der Fall soll es überprüfen ob der Betrag ungleich 0 ist (Betrag!=0) ist das der Fall rechnet es Raten = (Kosten-Betrag)/Zraum, wenn nicht Raten = (Kosten) / Zraum . Ist schon die KontoNr 0 soll bei Raten 0 eingetragen werden.

Fachklasse:
[JAVA=42]
public void rechne (){
if (KontoNr!=0)
{
if (Betrag!=0)
{
Raten = (Kosten-Betrag)/Zraum;
}
else
{
Raten = (Kosten) / Zraum;
}
}
else
{
Raten = 0;
}
[/code]

Button in der Fensterklasse:
[JAVA=42]
private JButton getCmdRechne() {
if (cmdRechne == null) {
cmdRechne = new JButton();
cmdRechne.setBounds(new Rectangle(35, 317, 154, 17));
cmdRechne.setText("Raten berechnen");
cmdRechne.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
Fachklasse objekt;
objekt = new Fachklasse ();
objekt.setKontoNr(Integer.parseInt(txtKontoNr.getText()));
objekt.setKosten(Double.parseDouble(txtKosten.getText()));
objekt.setZeitraum(Double.parseDouble(txtZraum.getText()));
objekt.setBetrag(Double.parseDouble(txtBetrag.getText()));
objekt.rechne();

txtRaten.setText(Double.toString(objekt.getRaten()));

}});
}
return cmdRechne;
}
[/code]

Das Problem ist, dass es zwar die 0 bei Raten einträgt, wenn ich ich auf den Button klicke, aber auch die 0 einträgt, wenn ich bei KontoNr etwas anderes als 0 eintrage.
Ich hoffe man kann verstehen, was ich meine.

lg
chees29
 
Zu wenige Code. Beachte aber z.B. dass
int / int = int
ist, also z.B
3 / 4 = 0

Ggf. mit float rechnen (für Geld eigentlich nicht OK, aber die Alternativen wären unintuitiv)
 
Java:
(Betrag!=0)
Gleitkommazahlen nie mit == oder != mit festen Zahlen vergleichen! Macht man immer so, dass man die Differenz kleiner als 0.001 macht (je nach Anwendung)
 
Mal davon abgesehen, dass das:
Java:
            if (Betrag!=0)
            {
                Raten = (Kosten-Betrag)/Zraum;
            }
            else 
            {
                Raten = (Kosten) / Zraum;
            }

genau das gleiche bewirkt wie:
Code:
Raten = (Kosten-Betrag)/Zraum;
und man sich so das ganze if/else sparen kann.
 
Ja, aber da müsste man Mathematik der Grundschule beherschen, aber hier geht es ja um Java und das
Code:
X-0
dasselbe wie
Code:
X
ist, wusste der TO vielleicht nicht und im Buch, Aufgabe stand nunmal das wenn der
Code:
Betrag
Code:
0
ist, wird nix abgezogen ;-)
 
Mal davon abgesehen, dass das:
Java:
            if (Betrag!=0)
            {
                Raten = (Kosten-Betrag)/Zraum;
            }
            else 
            {
                Raten = (Kosten) / Zraum;
            }

genau das gleiche bewirkt wie:
Code:
Raten = (Kosten-Betrag)/Zraum;
und man sich so das ganze if/else sparen kann.

Ergibt natürlich sinn. Geht jetzt wo ich das vereinfachen konnte auch. Danke.

Hätte aber noch eine Frage:
Java:
	public void rechne (){	
		if (KontoNr!=0)
		{
				Raten = (Kosten-Betrag)/Zraum;
		}
			else
			{
				Raten = 0;
			}

	}

Kann ich auch machen, dass bei Raten (also bei else) anstelle von 0 ein Text steht. Also im Prinzip z.B. Raten = "Bitte eine KontoNr eintragen."? Nur das es so halt nicht geht.
 
Kann ich auch machen, dass bei Raten (also bei else) anstelle von 0 ein Text steht. Also im Prinzip z.B. Raten = "Bitte eine KontoNr eintragen."? Nur das es so halt nicht geht.
Du willst wahrscheinlich, dass in der GUI ein entsprechender Text angezeigt wird. Dann gehe in den Code, wo Du die GUI zusammenbaust/veränderst und mache es dort mit entsprechenden Methoden (setText o.ä). Dort kannst Du selbstverständlich auch if-else benutzen.
 

Neue Themen


Zurück
Oben