Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Hallo an alle
ich bräuchte eure Hilfe...
Ich versuche aktuell eine Schleife aufzubauen, in der ich eine Zahl je nach Größe einer Variable teile.
Das Problem ist wenn ich z. B. sage:
Java:
for (int i = 0; i < bytes; i++) {
if (variableZahl % 2 != 0) {
doSomething
}
else {
doSomethingElse
}
}
ist im nächsten Schleifendurchlauf ist meine variable Zahl wieder beim Ausgangswert.
Er soll die Zahl allerdings dauerhaft teilen. (zumindest für den Schleifendurchlauf)
Ich hoffe meine Frage ist einigermaßen verständlich.
VG
Code bitte immer in code-Tags (erste Schaltfläche/Button/Icon in der Editor-Toolbar hier im Forumeditor):
Java:
for (int i = 0; i < bytes; i++) {
if (variableZahl % 2 != 0) {
doSomething
} else {
doSomethingElse
}
}
Wenn du willst, dass variableZahl pro Schleifendurchlauf geteilt wird, dann musst du das auch tun. Hierzu brauchst du die Java-Operatoren / und = oder /=
Tut mir sehr leid ich versuche es nochmal dann auch passender zur Überschrift...
[CODE lang="java" highlight="6"]boolean[] calculator(final long value, final int bytes) {
boolean[] bit = new boolean[bytes + 1];
while (value > 1)
if (value % 2 != 0) {
bit[bytes] = true;
value / 2; <---- das nimmt er mir nicht!
}
return bit;
}[/CODE]
Als Ausgabe möchte ich eben eine Liste aus True und False der Größe meiner Bytes...
Sozusagen eine Binärzahl aus anstatt 1sen und 0len aus True und False
Tut mir sehr leid ich versuche es nochmal dann auch passender zur Überschrift...
[CODE lang="java" highlight="6"]boolean[] calculator(final long value, final int bytes) {
boolean[] bit = new boolean[bytes + 1];
while (value > 1)
if (value % 2 != 0) {
bit[bytes] = true;
value / 2; <---- das nimmt er mir nicht!
}
return bit;
}[/CODE]
Ja, weil der Parameter in der Methode als final gekennzeichnet ist. Leg dir eine Kopie davon an und ändere diese.
EDIT: Du könntest natürlich auch das "final" entfernen, aber meist ist es sinnvoll, Parameter nicht zu verändern und ich nehme an, dass die Signatur so vorgegeben ist.