HILFE BEI JAVA ECLIPSE?

...komplette Frage anzeigen

3 Antworten

1. deine Variable Eingabe ist ein String, welcher nie in deine Variable eingabe gespeichert wird -  du vergleichst aber alles mit eingabe (welches den Wert 0 hat). Caste doch bitte noch Eingabe zu einem Double oder frag direkt einen Double ab und speichere diese in "eingabe".

2. ist es korrekt, dass alle 3 Syso ausgegeben werden - solang Eingabe <= <Wert> wahr ist.  Bei if-Abfragen schaut er wirklich nur in den Block nach dem "if" - und du erstellst jedes mal einen neuen if-Block

3.Wenn du willst, dass nur eine ausgegeben werden soll, musst du "else if" statt "if" bei den letzten beiden Abfragen verwenden

Antwort bewerten Vielen Dank für Deine Bewertung

Die Eingabe kann nur 1 Wert haben, nachdem der Scanner geschlossen ist. Also wirst du einen eingabeWert < 0.8 übergeben haben, warauf alle Abfragen zutreffen.
Wenn nur die erste zutreffende Bedingung ausgegeben werden soll,dann brauchst du ein return zusätzlich zum Sysout

Antwort bewerten Vielen Dank für Deine Bewertung

Dein wert ist unter 0.80. Das führt dazu, dass alle System.out.println's ausgeführt werden.

Bestimmt meinst du das:

if(eingabe <=0.80){
System.out.println("Sie dürfen 30 Minuten parken.");
}
if(eingabe <=1.60 && eingabe > 0.80){
System.out.println("Sie dürfen 1 Stunde parken.");
}
if(eingabe <=3.20 && eingabe > 1.60){
System.out.println("Sie dürfen 2 Stunden parken.");
}
Antwort bewerten Vielen Dank für Deine Bewertung
Tschoo 11.10.2017, 12:48

oder

if(eingabe <=0.80) System.out.println("Sie dürfen 30 Minuten parken.");
else
{
 if(eingabe <=1.60) System.out.println("Sie dürfen 1 Stunde parken.");
else
{
if(eingabe <=3.20)System.out.println("Sie dürfen 2 Stunden parken.");
else System.out.println("Sie dürfen immer parken");
}
}
0
xxxcyberxxx 11.10.2017, 13:44
@Tschoo

Ihr wisst schon, dass es bei java auch direkt else if gibt? 

if(eingabe <= 0.80) {
//do something
} else if (eingabe <= 1.60) {
//do something
} else if (eingabe <= 3.20) {
//do something
} else {
//do something
}
0
DexterNemrod 11.10.2017, 13:40

Erschwerend kommt hinzu, dass der eingelesene Wert zu keinem Zeitpunkt vom String Eingabe in den double eingabe (sehr verwirrende Variablenbezeichnung) konvertiert wird.

0

Was möchtest Du wissen?