boolsche Varaible

Status
Nicht offen für weitere Antworten.

Foster

Mitglied
1 )Welchen Wert besitzt die boolsche Variable b nach jeder Anweisung, ausgehend von der folgenden Deklaration:

int k = 0, i = 1;
boolean b = false;

Stimmen meine Antworten?
b = (k > i) && (k >= 0); true
b = (k > i) || (i > k); true
b = !(i==0) && (k-i>=0); true
b = (k < i) && (i >= 0) && (i%5==1); false
b = (i > k) || (i/k > 1); true

Bin mir nicht ganz sicher.


2)Welchen Wert liefern die folgenden Ausdrücke? Jeder Ausdruck übernimmt dabei die neuen
Werte für d und e. Schreiben Sie dazu in jede Lücke den enstprechenden Wert von d und e!

1: int d = 1, e = 2;
2: d *= e;
3: d += e++;
4: d -= 3 - 2 * e;
5: e /= (d + 1);

Meine Antworten:
1: d=1 e=2
2: d= 2 e= 2
3: d= 4 e= 3
4: d= 1 e= -3
5: d= 2 e= 2

Ich hoffe mich kann Jemand in meinen ANtworten bestätigen.
Gruß Foster
 
S

SlaterB

Gast
> Stimmen meine Antworten?
> b = (k > i) && (k >= 0); true

k soll größer i sein, obwohl k 0 ist und i 1? das ist doch total abwegig,

bevor jetzt aber überall alles korrigiert wird und du nur noch die richtigen Antworten abschreiben musst,
solltest du lieber jede einzelne Antwort ausführlich begründen, dann kann man die Fehler in deinen Sätzen korrigieren, das wäre interessanter

abgesehen davon kannst du doch alles in einem Java-Programm testen?
 

Foster

Mitglied
... wie kann ich das mit einem Java Programm testen.
bin absoluter neuling auf dem Gebiet.

zu 1)

int k = 0, i = 1;
boolean b = false;

b = (k > i) && (k >= 0); true

verstehe ich so 0 > 1 und 0 >= 0 ---- das stimmt nicht, also true weil boolean b = fals.

b = (k > i) || (i > k); true

0 > 1 oder 1 > 0 stimmt nicht, denn beim oder müssen beide optionen gleich sein. also wieder true weil boolean b = fasle

b = !(i==0) && (k-i>=0); true

1 = 0 und 0-1 >= 0
gleiche Antwort wie vorher.



b = (k < i) && (i >= 0) && (i%5==1); false


1 < 0 und 0>=0 und 1/5 rest = 1


b = (i > k) || (i/k > 1); true

1 > 0 logisches Oder 1/0 > 1 stimmt nicht, deshalb false.


oder vestehe ich die Aufgabestellung genau falsch herum? boolean b = false bedeutet doch, wenn eine aussage richtig ist, ist sie eigentlich falsch, oder???
 

Marco13

Top Contributor
oder vestehe ich die Aufgabestellung genau falsch herum? boolean b = false bedeutet doch, wenn eine aussage richtig ist, ist sie eigentlich falsch, oder???

Scheint so....
boolean b = false;
bedeutet erstmal nicht viel - das "false" ist nur der erste (Anfangs)Wert - irgendwas muss man ja hinschreiben - man hätte auch
boolean b = true;
schreiben können, und das hätte an der Aufgabe nichts geändert.

Das "=" ist eine Zuweisung. D.h. nachdem die Zeile ausgeführt wurde, hat b den Wert von dem, was auf der rechten Seite von dem "=" steht.

Neuer Versuch? :)
 

Foster

Mitglied
Ach so..... dann hab ich das wohl falsch verstanden

int k = 0, i = 1;
boolean b = false;

Stimmen meine Antworten?
b = (k > i) && (k >= 0); false
b = (k > i) || (i > k); false
b = !(i==0) && (k-i>=0); fasle
b = (k < i) && (i >= 0) && (i%5==1); false
b = (i > k) || (i/k > 1); true

ist es jetzt ok?
 

Marco13

Top Contributor
Scrheib' nochmal die Begründungen dazu, wie in deinem zweiten Beitrag....

EDIT: Das "||" bedeutet ODER. Eine Aussage wie "Es regenet ODER es regenet nicht" ist IMMER wahr.
 

Foster

Mitglied
int k = 0, i = 1;
boolean b = false;

b = (k > i) && (k >= 0); false
verstehe ich so 0 > 1 und 0 >= 0 das stimmt nicht

b = (k > i) || (i > k); true
0 > 1 oder 1 > 0 stimmt nicht, aber wegen || true


b = !(i==0) && (k-i>=0); false
1 = 0 und 0-1 >= 0


b = (k < i) && (i >= 0) && (i%5==1); false
1 < 0 und 0>=0 und 1/5 rest = 1


b = (i > k) || (i/k > 1); true
1 > 0 Oder 1/0 > 1 stimmt nicht, doch wegen || true
 
S

SlaterB

Gast
2x
> stimmt nicht, doch wegen || true

liest sich ziemlich übel, als wenn du 2x sagen wolltest 'beide Teilaussagen sind falsch, aber wegen des || dazwischen sind sie insgesamt richtig'
und das stimmt natürlich, || führt nur dann zum true, wenn mindestens eine der beiden Teilaussagen korrekt ist
(in beiden Fällen aber gegeben)

> b = (k < i) && (i >= 0) && (i%5==1); false
> 1 < 0 und 0>=0 und 1/5 rest = 1

nochmal Variablen einsetzen üben
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben