Immer wird "gut" ausgegeben

Anfänger22

Aktives Mitglied
Java:
class FrageChrissy
{
 public static void main ( String[] args )
{
	String s = javax.swing.JOptionPane.showInputDialog ( "Wie geht es dir Schatz?");
 	System.out.printf("Super freut mich", s);
	String b = javax.swing.JOptionPane.showInputDialog ( "Was machst du heute Abend?");
	
	boolean lernen, schlafen;
	lernen = true;
	schlafen = false;

	if (true)
	System.out.printf("\nGut" );
	

	if (false)
	System.out.printf("Lüg doch nicht oO");

	System.exit( 0 );   
	}
}

wollte es so haben, dass wenn es false ist, dass es "Lüg doch nicht ausgibt oO" ausgibt aber immer wieder wird GUT ausgegeben. kann mir mal jemand helfen, wo das problem ist
 
Geschweiften Klammer verwenden, sonst wirst du durcheinander kommen.
Das was du suchst ist:
Java:
if (true) {
  Sysout("wahr");
} else {
  Sysout("falsch");
}
Aber hier wird der else Zweig nie erreicht. Du solltest vllt mal die Variablen einsetzen.
Wozu rufst du
Code:
System.exit
auf?
 
Zuletzt bearbeitet:
Geschweiften Klammer verwenden, sonst wirst du durcheinander kommen.
Das was du suchst ist:
Java:
if (true) {
  Sysout("wahr");
} else {
  Sysout("falsch");
}
Aber hier wird der else Zweig nie erreicht. Du solltest vllt mal die Variablen einsetzen.
Wozu rufst du
Code:
System.exit
auf?

td wird immer noch Gut ausgegeben
 
Was genau hast du denn jetzt stehen? Immer noch mit if (true) ? Natürlich wird dann da nur "gut" ausgegeben, weil true nun mal immer true ist. Setze deine Variablen ein.
 
Es ist zwar schon spät, aber selbst ein Grundschüler würde jetzt 1 und 1 zusammenzählen können...

BTW.. Die Eingaben, die getätigt werden, werden in keinsterweise beachtet...

Möchtest du eine neue Art der Programmierung hier entwickeln? 😉
 
Zuletzt bearbeitet von einem Moderator:
Strings verlgiechen kannst du mit
Code:
"LALALA".equals("LALALA");
 
Ohh man..

Wir können nur hoffen, dass das Schul-Informatik ist:
Java:
if(b.equals("") {

} else ...
 
Überhaupt mal überlegt was eine IF-Schleife überhaupt macht und wie sie funktioniert?

if(true) im Code macht vielleicht als Kommentarersatz Sinn.
 
Ein kleiner Hinweis:

Eine IF-Schleife braucht eine Bedingung. Diese Bedingung muss als Ergebnis entweder true oder false sein (also zurückgeben). Wenn die Bedingung true ist, dann wird der Code ausgeführt. Wenn sie false ist halt nicht (dafür das else, falls angegeben).

Ein true als Bedingung ist IMMER true, darum wird der Code ausgeführt. Ein false als Bedingung ist IMMER false, deswegen wird er nicht ausgeführt. So sieht es gerade bei dir aus.

Du hast doch oben deine Variablen definiert.

Java:
    boolean lernen, schlafen;
    lernen = true;
    schlafen = false;

Lernen ist also true und schlafen ist false. Was braucht die Bedingung der IF-Schleife für ein "Endergebnis"? Genau, ein true oder false.

Java:
if (lernen)
{
System.out.println("lernen");
}

Das System wird in diesem Fall lernen ausgeben, weil lernen true ist. Wäre lernen false, dann würde nichts passieren.

Vielleicht ist dieser Code für Anfänger noch verständlicher, allerdings ist der nicht grade von der schönsten Sorte. Sobald du es verstanden hast, mach es lieber wie im oberen Beispiel.

Java:
if (lernen==true)
{
System.out.println("lernen");
}

Jetzt übersetzen wir das mal: wenn lernen true ist, dann schreibe "lernen".
Lernen ist true, also wird der Code ausgeführt.

Vielleicht hat dir das ein bisschen geholfen die IF-Schleife besser zu verstehen 😉
 

Zurück
Oben