Hallo da ich mich grade durch das Gnaze Java ist auch eine Insel arbeite hab ich nun mal ne Frage ich mache aus meinen gelernten wissen immer Kleine Beispiele Kombiniere Sachen und so weiter
Nun hier erstmal meine codes:
Code:
public class huhul {
/**
* @param args
*/
public static void main(String[] args) {
int s= 2;
int d= s;
if (d>=2)
System.err.println("Variable ist kleiner = 2");
else
System.out.println("Variable ist größer = 2");
if
((3 >= d) && (d <=1) )
System.out.println("Die Variabel hat den Wert 2");
}
}
Nun müsste eig doch rauskommen "Die Variable hat den wert 2" dennoch kommt immer bei mir immer "Variable ist kleiner = 2" nunja aber mein ziel ist es ja das rauskommt "Die Variable hat den wert 2" nach meiner logik geht es ja nun so ab d übernimmt den wert 2 von s dann kuckt die if abfrage was passt ob die variable gößer gleich 2 ist (false ist ja genau 2) oder kleiner gleich 2 ne isse ja auch ned und dann soll der dritte fall rauskommen da hatte ich erste if stehen und dann hab ichs mit else if versucht so doch da zeigt er mit immer Fehler an nur wenn ich en neues if mache zeigt er keinen fehler an doch dann kommt nicht das erwüschte ergebenis was nun?
public class huhul {
/**
* @param args
*/
public static void main(String[] args) {
int s= 2;
int d= s;
if (d<2)
System.out.println("Variable ist kleiner = 2");
else if (d>2)
System.out.println("Variable ist größer = 2");
else
System.out.println("Die Variabel hat den Wert 2");
}
}
>= erfasst in deinem Fall sowohl die 2 als auch jede ganze Zahl größer als 2. D.h. es wird kein false geliefert wenn die Zahl genau 2 ist, denke das ist dein Denkfehler ;)
if
((3 >= d) && (d <=1) )
System.out.println("Die Variabel hat den Wert 2");
Das bedeutet: wenn 3 größer oder gleich ist wie d UND d kleiner oder gleich ist als 1, dann gib ... aus.
d kann aber nicht gleichzeitig größer oder gleich als 3 sein und kleiner oder gleich als 1.
Richtig wäre:
Code:
if
((3 >= d) && (d >=1) )
System.out.println("Die Variabel hat den Wert 2");
Ein Tip noch: mach geschweifte Klammern bei deinen if, while, for- Konstrukten.
Code:
int a = 1;
int b = 2;
if(a == b)
System.out.println("a==b");
System.out.println("blubb"); //wird trotzdem ausgegeben.
if(a == b) {
System.out.println("a==b");
System.out.println("blubb"); //wird nur ausgegeben wenn a==b
}
Das bedeutet: wenn 3 größer oder gleich ist wie d UND d kleiner oder gleich ist als 1, dann gib ... aus.
d kann aber nicht gleichzeitig größer oder gleich als 3 sein und kleiner oder gleich als 1.
Das bedeutet: wenn 3 größer oder gleich ist wie d UND d kleiner oder gleich ist als 1, dann gib ... aus.
d kann aber nicht gleichzeitig größer oder gleich als 3 sein und kleiner oder gleich als 1.