Hilfe bei Informatik? ziffern einer Zahl trennen, Vorzeichen erkennen, int eingabe und string ausgabe?

2 Antworten

Ich nehme an ihr dürft die Java-Funktionen, die es dafür schon gibt, nicht verwenden?

Übliche Algorithmen gehen folgendermaßen vor (für Basis b, die angibt, in welchem Zahlensystem die String-Repräsentation der Zahl liegen soll):

1.) Bestimme den Rest bei Division durch die Basis. Dies ist die niederwertigste Ziffer.

2.) Ordne dieser Ziffer ein zeichen zu und füge dieses an eine Liste von Zeichen an.

3.) Teile die Zahl durch die Basis. Dadurch geht die niederwertigste Ziffer verloren und die nächst höherwertige Ziffer wandert an ihre Stelle.

4.) Wenn die Zahl ungleich 0 ist springe zu 1.)

5.) Drehe die Liste aus Zeichen um. Da wir die niederwertigste Ziffer zuerst angehängt haben steht diese derzeit ganz vorne in der Liste, sie soll aber ganz hinten stehen.

So ungefähr sollte das klappen. Das Vorzeichen musst du gegebenenfalls davor bestimmen und auch in die Liste packen, dann mit der absoluten Zahl weiterrechnen. Die Kommas kannst du entweder währenddessen oder danach hinzufügen.

Wandle die Zahl zu einem String um, dann kannst du sie per .split("") in ihre Ziffern zerlegen.

Wenn die Zahl positiv ist, ergänze am Anfang des Strings ein "+".

Per .join(",") kannst du dann das gewünschte Trennzeichen zwischen die Ziffern einfügen.

Woher ich das weiß:Hobby – Programmieren ist mein Hobby & Beruf