LatinBaby - 37
Halbprofi
(offline)
Dabei seit 06.2008
140
Beiträge
|
Geschrieben am: 15.10.2009 um 15:28 Uhr
Zuletzt editiert am: 02.11.2009 um 22:13 Uhr
|
|
Guten Morgen/Abend.
So, ich mal wieder. Tut mir leid, dass ich für solche kleinen Sachen immer einen Thread erstelle, aber ich komme oftmals einfach nicht weiter. :(
Und zwar habe ich ein Problem mit dem Restoperator von Java.
int a = 76, b = 37, c;
System.out.println(c = b % a * 9); //333
System.out.println("26%7 = " + 26%7 ); //5
System.out.println("7%26 = " + 7%26 ); //7
Ich bin mir zwar bewusst, wie die 5 zu Stande kommt, (Eben wegen dem Rest, wie der Operatorname schon sagt. :D), aber wie kommt man auf die 333 bzw. die 7? Bin mathematisch einfach unbegabt.
Kann mir die Schritte vllt jemand erklären?
Danke
|
|
h3mpti - 38
Profi
(offline)
Dabei seit 05.2007
878
Beiträge
|
|
Geschrieben am: 15.10.2009 um 15:36 Uhr
|
|
Zitat von LatinBaby: Guten Morgen/Abend.
So, ich mal wieder. Tut mir leid, dass ich für solche kleinen Sachen immer einen Thread erstelle, aber ich komme oftmals einfach nicht weiter. :(
Und zwar habe ich ein Problem mit dem Restoperator von Java.
int a = 76, b = 37, c;
System.out.println(c = b % a * 9); //333
System.out.println("26%7 = " + 26%7 ); //5
System.out.println("7%26 = " + 7%26 ); //7
Ich bin mir zwar bewusst, wie die 5 zu Stande kommt, (Eben wegen dem Rest, wie der Operatorname schon sagt. :D), aber wie kommt man auf die 333 bzw. die 7? Bin mathematisch einfach unbegabt.
Kann mir die Schritte vllt jemand erklären?
Danke
Naja, 7 / 26 ist 0 Rest 7, sollte eigentlich klar sein 
Beim anderen hat Modulo eine stärkere Bindung als *, d.h. 37 / 76 ist 0 Rest 37, und das mal 9 gibt 333.
|
|
---Tobi - 39
Profi
(offline)
Dabei seit 10.2004
445
Beiträge
|
|
Geschrieben am: 15.10.2009 um 15:40 Uhr
|
|
37 modulo 67 = 37 da 37/67 = 0 rest 37
37 * 9 = 333
bei 7 modulo 26 das gleiche
7/26 = 0 rest 7
|
|
LatinBaby - 37
Halbprofi
(offline)
Dabei seit 06.2008
140
Beiträge
|
|
Geschrieben am: 16.10.2009 um 17:30 Uhr
|
|
Und noch mal ich...
Erst Mal danke für die Hilfen...hatte angenommen, dass die Rechnung arbeitet auch mit Gleitkommezahlen...deshalb das Unverständnis.
Habe aber noch eine Frage:
Die int-Variable x habe den Wert 5. Die folgende Anweisung führt dennoch nicht zu einer Division durch 0. Warum?
if(x != 5 && 1.0 / (x – 5) > 0)
y = 1;
Kann mir das auch wer erklären?! Ich meine..immerhin ist eine Division durch 0 ja nicht möglich, aber an Hand der Fragestellung gehe ich stark davon aus, dass das gar nicht gefragt wird. :)
Danke
|
|
h3mpti - 38
Profi
(offline)
Dabei seit 05.2007
878
Beiträge
|
|
Geschrieben am: 16.10.2009 um 17:38 Uhr
|
|
Im ersten Term wird Abgefragt, ob x != 5 ist, da der Term schon nicht zutrifft und die beiden Terme über ein UND verknüpft sind, wird der zweite Term an dieser Stelle nichtmehr berücksichtigt.
|
|
LatinBaby - 37
Halbprofi
(offline)
Dabei seit 06.2008
140
Beiträge
|
|
Geschrieben am: 16.10.2009 um 17:50 Uhr
|
|
Dachte ich auch.
Aber die if Anweisung wird dennoch durchgeführt...Da die Division ja eine höhere Prioritätsanweisung hat, als die Zuweisung (oder nicht?!) wird die Division auf jeden Fall ausgeführt.
Da die Durch 0 Division allerdings nicht möglich ist, ist dann die Frage: Warum die Ifanweisung dennoch ausgeführt wird...
Habs gerade mal mit Eclipse gemacht und ein System.out.println gesetzt, anstelle der Zuweisung für das y und diese wird ausgegeben?!
|
|
pogorausch - 38
Champion
(offline)
Dabei seit 09.2005
2593
Beiträge
|
|
Geschrieben am: 16.10.2009 um 17:57 Uhr
|
|
Das ist der Unterschied zwischen „&“ und „&&“.
Bei „&“ werden beide Seiten ausgewertet und dann der Operator angewendet. Bei „&&“ wird erst nur die linke Seite ausgewertet und wenn die schon false ergibt, die rechte Seite gar nicht angeschaut, weil das Ergebnis ja schon feststeht.
Vegan warrior for life, so FUCK THE LAW!
|
|
LatinBaby - 37
Halbprofi
(offline)
Dabei seit 06.2008
140
Beiträge
|
|
Geschrieben am: 16.10.2009 um 17:59 Uhr
|
|
Ja hmmm...danke erst Mal...
Aber dann bleibt eben noch die Frage...warum wird die If Anweisung dennoch gemacht, wenn sie schon bei der ersten Auswertung false ergibt...das macht mir nämlich das größte Verständigungsproblem...
|
|
h3mpti - 38
Profi
(offline)
Dabei seit 05.2007
878
Beiträge
|
|
Geschrieben am: 16.10.2009 um 18:02 Uhr
|
|
dann würde ich mal eher auf einen Syntax-Fehler tippen.
Ist die Variable x wirklich als Integer deklariert? oder vielleicht doch als Gleitkommazahl?
|
|
pogorausch - 38
Champion
(offline)
Dabei seit 09.2005
2593
Beiträge
|
Geschrieben am: 16.10.2009 um 18:03 Uhr
Zuletzt editiert am: 16.10.2009 um 18:03 Uhr
|
|
Zitat von LatinBaby: Ja hmmm...danke erst Mal...
Aber dann bleibt eben noch die Frage...warum wird die If Anweisung dennoch gemacht, wenn sie schon bei der ersten Auswertung false ergibt...das macht mir nämlich das größte Verständigungsproblem...
Das darf eigentlich nicht vorkommen. Vielleicht ein Semikolon zu viel? Hinter dem „if“?
Vegan warrior for life, so FUCK THE LAW!
|
|
LatinBaby - 37
Halbprofi
(offline)
Dabei seit 06.2008
140
Beiträge
|
|
Geschrieben am: 16.10.2009 um 18:08 Uhr
|
|
Okay ja das stimmt...sorry...war meine Schuld...
Trotzdem danke ihr zwei
|
|
LatinBaby - 37
Halbprofi
(offline)
Dabei seit 06.2008
140
Beiträge
|
|
Geschrieben am: 02.11.2009 um 22:15 Uhr
|
|
So hallo...
Wieder ich.
Und zwar eine Frage....
Welcher Fehler steckt hinter dieser Schleife.
int i = 1;
while(i <= 5);
{
System.out.println(i);
i++;
}
Überlege schon die ganze Zeit, aber ich komme irgendwie nicht dahinter.
Danke sehr :)
|
|
Thulsadoom - 36
Champion
(offline)
Dabei seit 01.2006
2051
Beiträge
|
Geschrieben am: 02.11.2009 um 22:38 Uhr
Zuletzt editiert am: 02.11.2009 um 22:43 Uhr
|
|
Zitat von LatinBaby: So hallo...
Wieder ich.
Und zwar eine Frage....
Welcher Fehler steckt hinter dieser Schleife.
int i = 1;
while(i <= 5);
{
System.out.println(i);
i++;
}
Überlege schon die ganze Zeit, aber ich komme irgendwie nicht dahinter.
Danke sehr :)
was isn die fehlermeldung?
so aufn ersten blick würd ich sagen entweder ne geschweifte klammer oder semikolon, aber nich beides setzen...
edit: ich hab das semikolon hinter while weggelassen und es funktioniert wunderbar.
Warum? Weil ich es kann!
|
|
LatinBaby - 37
Halbprofi
(offline)
Dabei seit 06.2008
140
Beiträge
|
|
Geschrieben am: 02.11.2009 um 22:41 Uhr
|
|
ohhh man..jetzt seh ichs...das Semikolon hinter der While Anweisung...was ist nur los mit mir...
Danke schön :)
|
|