Eclipse Wärtekombinationen mit logischem Ausdruck

Alfredo

Mitglied
Sehr geerte User :)

ich bin Informatikstudent im erstem Semester und zudem kompletter Anfänger. Nun habe ich eine Aufgabe aufbekommen die wie folgt lautet:

Schreiben Sie ein Programm, das feststellt und ausgibt, ob es eine Wertekombination der Variablen wert1 und wert2
(insgesamt 4 Möglichkeiten) gibt –und wenn ja, welche–, für die der logische Ausdruck !wert1 & (wert1 | wert2) den Wert true annimmt. Falls es mehrere solcher Kombinationen gibt, soll nur eine davon ausgegeben werden.
Die Ausgabe soll in genau folgender Weise formatiert sein:

- JA: wert1== x wert2== y
falls die angegebene Wertekombination die Bedingung erfüllt, wobei x bzw. y für den entsprechenden Wert true
oder false steht

-NEIN
falls es keine Wertekombination gibt, die die Bedingung erfüllt

Die Ausgabe soll eine einzige, am Ende umgebrochene Zeile bilden. Beispiel für eine mögliche Ausgabezeile:
JA: wert1==true wert2==false

Wobei es nach diesem Schema aussehen soll:

i f ( e i n l o g i s c h e r J av a −A u s d r u ck ) {
Aktion 1
} else {
Aktion 2


sooooo nun verstehe ich den Satz mit dem logischen Ausdruck !wert1 & ( wert1 | wert 2 ) überhaubt nicht

Hier ist mal mein Quellcode. Ich weiß aber das dieser nicht fertig ist und da dieser logische Ausdruck fehlt. Könnt Ihr mir da einen Tipp bzw Ratschlag geben um auf die richtige Fährte zu kommen ?
Java:
public class Uebung_6 {
	public static void main (String[] args) {
		
		boolean wert1 = true;
		boolean wert2 = false;
		
		
		
		if ( wert1&&wert2 ) {
			System.out.println(" JA: wert1==true wert2==true ");
		
		}else{
			
		 if ( wert1 ) {
			System.out.println (" JA: wert1==true wert2==false ");
			
		 }else{
			 
		 if ( wert2) {
			System.out.println ( " JA: wert1==false wert 2==true");
		
	         } else { 
		        System.out.println ( " NEIN ");
		
		
		
	}
	}
}
	}
	}
	
}
 
Zuletzt bearbeitet von einem Moderator:

Gucky

Top Contributor
Benutze bitte JAVA TAGS.

& und | sind bitweise Verknüpfungen. Falsch & (WAHR | FALSCH) = FALSCH weil der Ausdruck in den Klammern WAHR ergibt aber bei dem Ambersand müssen beide Operanden WAHR sein, damit die Verknüfpung WAHR ergibt.
 

Alfredo

Mitglied
ok.... Das heißt das Grundgerüst ist völlig falsch oder fehlen da nur Details ???

wie sieht sowas Beispielsweiße aus ??? Ich stehe total auf dem Schlauch
 

Gucky

Top Contributor
Du sollst überprüfen, ob man wert1 und wert2 so belegen kann, dass !wert1 & (wert1 | wert2) true ergibt.
Das kann ich dir gleich sagen: Es gibt eine Möglichkeit und zwar die, dass wert2 == true und wert1 == false ist. Aber das soll dein Programm herausfinden.

Dazu musst du den Ausdruck zuerst zerlegen. !wert1 muss true ergeben und wert1 | wert2 auch. Und dann geht's los mit dem Programmieren.
 

Alfredo

Mitglied
Java:
public class ... {
	public static void main (String[] args) {
		
		boolean wert1;

		boolean wert2;

		wert1 = true;

		wert2 = false;

		

		if (!wert1 & (wert1 | wert2)) {

		System.out.println("JA: wert1==" + wert1 + " wert2==" + wert2);

		} else {

		wert1 = true;

		wert2 = true;
		 
		 

		if (!wert1 & (wert1 | wert2)) {

		System.out.println("JA: wert1==" + wert1 + " wert2==" + wert2);

		} else {

		wert1 = false;

		wert2 = true;
		
		if (!wert1 & (wert1 | wert2)) {
			
			System.out.println("JA: wert1==" + wert1 + " wert2==" + wert2);
			
		} else {
			
			wert1 = true;
			wert2 = false;
			
			
		if (!wert1 & (wert1 | wert2)) {
			
			System.out.println(" NEIN ");
			
		} else {
			
			wert1 = false;
			wert2 = false;
		}
		}
		
		}
		}
	}
}

Also so ? Dann würde nämlich wert1 == false und wert2 == true rauskommen ? :/
 
Zuletzt bearbeitet von einem Moderator:

Gucky

Top Contributor
BENUTZE BITTE JAVA TAGS (zum zweiten Mal)!

Wenn das Richtige rauskommt, dann ist es richtig aber wie gesagt, solltest du den Term in zwei Teile zerlegen.
 

Alfredo

Mitglied
ich habe über tags noch nichts gelernt sonst würde ich sie sicherlich verwenden!!!!! nicht Grundlos steht bei mir Einsteiger
 
Zuletzt bearbeitet:

Gucky

Top Contributor
Java Tags sind dazu da um den Code hier im Forum lesbarer zu machen.
Java:
Dein Text
[/ JAVA]
ohne Leerzeichen ;)
 

Oben