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
 

Marco13

Top Contributor
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)
 

Bleiglanz

Gesperrter Benutzer
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)
 

D4rkscr43m

Bekanntes Mitglied
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.
 
T

Trolllllll

Gast
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 ;-)
 

chees29

Neues Mitglied
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.
 
N

nillehammer

Gast
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.
 

Oben