Integerzahl als Array halten

Fohnbit

Top Contributor
Hallo,

wenn ich ein Arraylist habe und eine Ganzzahl dort mit einzelnen Zahlen speichern möchte ... gibt es da eine Methode diese hoch zu zählen?

Beispiel:

Startzahl: 7802
Arraylist demnach:
0: 2
1: 0
2: 8
3:7


Nun möchte ich die Zahl 1 hinzufügen, daher müsste dies immer im Array bei Pos 0 sein .. aber bei einem Überlauf auf 2 Stellen, müsste nächste Position auch um 1 erhöht werden, usw.

Denk mit einer while Schleife, wo die Bedingung < 10 ist müsste passen?
 
Du solltest mal den Begriff Ziffer bzw. den Unterschied zwischen Ziffer und Zahl nachlesen.

Deine Zahl könntest Du in einen String umwandeln und dann jedes Zeichen des Strings wieder nach Integer umwandeln und dieses Integer in Deiner Liste vermerken.
 
Nun möchte ich die Zahl 1 hinzufügen, daher müsste dies immer im Array bei Pos 0 sein .. aber bei einem Überlauf auf 2 Stellen, müsste nächste Position auch um 1 erhöht werden, usw.

Du willst also mit der Zahl rechnen (+ 1), aber die Ziffern der Zahl einzeln speichern?

Warum sollte man das wollen?

Schreib mal was du vor hast, vielleicht gibt es eine einfachere Lösung dafür.
 
Also wenn Dich nur die reine Logik interessiert:

Du brauchst eine Schleife, die so lange durchläuft, bis der "Übertrag" 0 ist.

Also bei der ersten Ziffer anfangen:
- Ziffer + zu addierender Wert = zwischenergebnis.
- Ziffer := zwischenergebnis % 10
- zu addierender Wert := zwischenergebnis / 10
- Falls zu addierender > 0 dann bei nächster Ziffer weiter machen

Damit gehst Du dann alle Ziffern der Reihe nach durch. Bei reinem +1 drückt man das etwas anders aus. Aber das ist erst einmal dahin gestellt.
 
Hallo,

ich überlege eine Funktion zu schreiben, die eine Division ausführt, ohne Rücksicht auf die Größe der Zahl.
Beispiel:
Die größtmögliche Zahl in Java ist long:
9.223.372.036.854.775.807

Eine Zahl mit 19 Stellen.

Möchte ich nun eine Zahl mit 1000 oder gar 23 Millionen Stellen mathematisch dividieren, klappt das ja nicht.

Meine Überlegung wäre:
Die Stellen als int in einem Array halten. 23 Millionen Einträge in einem Array sollten ja klappen.

Ich dachte, ich dividiere im Programm wie auf einem Blatt Papier, aber nur als Einerstellen:
Bash:
23960 : 5 = 4792
 39
  46
   10
     0
Das geht

aber wenn der Divisor mehrstellig ist, kann ich diesen nicht nacheinander mit den einzelnen Zahlen dividieren oder berechnen, richtg?

So kann ich nicht:
Bash:
23960 : 51 ~= 469,8
erst mit 5 und dann mit 1 behandeln.

Oder kann man eine Zahl nur mit einer Stelle nacheinander dividieren?
 

Zurück
Oben