Hallo Leute,
hier mal ein kleiner Auszug aus meinem Problem:
Um den Code kurz zu erläutern, die while-Bedingung testet ob die beiden Zahlen a und b gerade sind,wobei m ein BigInteger Objekt mit dem Wert 2 ist. Dieser Test wird wie üblich mit einer Modulo-Operation durchgeführt. Trifft die Bedingung zu treten die Rechenoperationen in der Schleife ein.
Ich habe nun folgendes Problem:
Der Compiler findet keinen Fehler im Code und führt diesen ganz normal aus.Nachdem jedoch völlig irrsinnige Ergebnisse ausgespuckt werden, hab ich nochmal genauer hingeguckt.
Obwohl meine beiden Zahlen (a und b) gerade sind, sprich die Bedingung aus obiger Schleife eintritt, übergeht er die Schleife und führt die Operationen nicht durch. Ich sehe aber leider keinen Fehler darin, die Bedingung ist richtig programmiert und wird ja auch vom Compiler erkannt.
Bitte um Hilfe, evtl kennt sich einer mit diesem Problem aus.
Danke
hier mal ein kleiner Auszug aus meinem Problem:
...
BigInteger a = new BigInteger("234");
BigInteger b = new BigInteger("124");
BigInteger m = new BigInteger("2");
...
while(((a.mod(m))==BigInteger.ZERO)&&((b.mod(m))==BigInteger.ZERO))
{
k = k.add(BigInteger.ONE);
a = a.divide(m);
b = b.divide(m);
}
.....
Um den Code kurz zu erläutern, die while-Bedingung testet ob die beiden Zahlen a und b gerade sind,wobei m ein BigInteger Objekt mit dem Wert 2 ist. Dieser Test wird wie üblich mit einer Modulo-Operation durchgeführt. Trifft die Bedingung zu treten die Rechenoperationen in der Schleife ein.
Ich habe nun folgendes Problem:
Der Compiler findet keinen Fehler im Code und führt diesen ganz normal aus.Nachdem jedoch völlig irrsinnige Ergebnisse ausgespuckt werden, hab ich nochmal genauer hingeguckt.
Obwohl meine beiden Zahlen (a und b) gerade sind, sprich die Bedingung aus obiger Schleife eintritt, übergeht er die Schleife und führt die Operationen nicht durch. Ich sehe aber leider keinen Fehler darin, die Bedingung ist richtig programmiert und wird ja auch vom Compiler erkannt.
Bitte um Hilfe, evtl kennt sich einer mit diesem Problem aus.
Danke