Nummer splitten

stringzz

Mitglied
Hi, meine Aufgabe ist folgender:

"In einer main-Methode wird die Zahl als int von der Konsole gelesen. Dann wird in einer Methode splitNumber die Zerlegung durchgeführt und das Ergebnis als String an main zurückgeliefert. Dort wird das Ergebnis dann ausgegeben. In splitNumber findet keine Ein- oder Ausgabe statt! Beim Zerlegen der Zahl soll nach jedem ausgegebenen Zeichen zur Trennung ein Komma eingefügt werden. Führende Nullen sind ebenso zu unterdrücken wie ein abschließendes Komma. Die Zahl 0 ist als positive Zahl zu behandeln. Beispiel: splitNumber(246) liefert “+,2,4,6” als Ergebnis."

Mein bisheriger Code:

Java:
public class NS {

    public static void main(String[] args) {

        println("Bitte geben Sie eine ganze Zahl ein");
        int ganzeZahl = readInt();

        println(splitNumber(ganzeZahl));
    }

    public static String splitNumber(int ganzeZahl) {

        int ziffer1 = ganzeZahl % 10;
        int ziffer2 = ganzeZahl % 100 / 10;
        int ziffer3 = ganzeZahl % 1000 / 100;
        int ziffer4 = ganzeZahl % 10000 / 1000;
        int ziffer5 = ganzeZahl % 100000 / 10000;
        int ziffer6 = ganzeZahl % 1000000 / 100000;
        int ziffer7 = ganzeZahl % 10000000 / 1000000;
        int ziffer8 = ganzeZahl % 100000000 / 10000000;
        int ziffer9 = ganzeZahl % 1000000000 / 100000000;
        int ziffer10 = ganzeZahl % 1000000000 / 1000000000;

        return "+" + "," + ziffer10 + " " + "," + ziffer9 + " " + "," + ziffer8 + " " + "," + ziffer7 + " " + ","
                + ziffer6 + " " + "," + ziffer5 + " " + "," + ziffer4 + " " + "," + ziffer3 + " " + "," + ziffer2 + " "
                + "," + ziffer1;

    }

}

Ich weiß, da fehlt noch einiges und so, aber bin absoluter Neuanfänger, daher bitte nicht so streng sein :D
Wenn ich jetzt z.B. 246 eingebe, kommt das als Ergebnis raus: +,0 ,0 ,0 ,0 ,0 ,0 ,0 ,2 ,4 ,6

Meine Fragen:

1. Wie kann ich die führenden Nullen entfernen?

2. Und bei negativen Zahlen muss ich ja eig nur das "+" in ein "-" umwandeln, denke mal mit einer If-Anweisung?

3. Und das größte Problem ist bei großen Zahlen, also wenn es mehr als 10 Ziffern hat, da ich jetzt nicht bis ziffer50 oder ziffer100 schreiben will, welche Schleife sollte ich da am besten benutzen?

Leider kann ich noch keine krassen Konstrukte oder so verwenden, haben bisher nur 4 Arten von Schleifen, Methoden, Strings etc. durchgenommen.
Aber alleine ein Paar Denkanstöße würden mir viel weiterhelfen ^^
 

Tarrew

Top Contributor
Hier mal ein Beispiel, wie man sich von hinten nach vorne durch so eine Zahl variabler Länge arbeiten kann:
Java:
public static void main(String[] args) {
    int zahl = 123456789;

    StringBuilder sb = new StringBuilder();
    while (zahl > 0) { //Über alle Ziffern iterieren
        int letzteZiffer = zahl % 10; // Letzte Ziffer ermitteln
        sb.insert(0, letzteZiffer); // Letzte Ziffer am Anfang einfügen
        zahl /= 10; // Letzte Ziffer entfernen
    }
    System.out.println(sb.toString());
}

Um führende Nullen brauchst du dich dann nicht mehr kümmern. Was fehlt sind die Kommas und das Vorzeichen, aber vielleicht reicht der Denkanstoß schon ;)
 

MoxxiManagarm

Top Contributor
1. Wie kann ich die führenden Nullen entfernen?
Mit unterdrücken ist einfach nur gemeint, dass du darauf achten sollst in deiner Ausgabe kommt nicht +,0,1 vor. Genauso sollst du explizit darauf achten in deiner Ausgabe kommt nicht +,1, vor.

2. Und bei negativen Zahlen muss ich ja eig nur das "+" in ein "-" umwandeln, denke mal mit einer If-Anweisung?
Umwandeln nur je nach Implementierung. Aber If-Anweisung klingt schonmal nicht schlecht ;-) Es gibt aber auch mindestens eine Lösung wo du kein if brauchst.

3. Und das größte Problem ist bei großen Zahlen, also wenn es mehr als 10 Ziffern hat, da ich jetzt nicht bis ziffer50 oder ziffer100 schreiben will, welche Schleife sollte ich da am besten benutzen?


Hier mal eine Lösung, aber mit der bitte diese nicht zu verwenden, denn DecimalFormat und StringJoiner sind sicher nicht im Sinne des Aufgabenstellers. Soll nur als Anregung dienen.

Java:
import java.text.DecimalFormat;
import java.util.StringJoiner;
import java.util.Arrays;

public class MyClass {
    public static String splitNumber(int number) {
        DecimalFormat df = new DecimalFormat("+#;-#");
        String formatted = df.format(number);
        
        StringJoiner sj = new StringJoiner(",");
        
        for (int i = 0; i < formatted.length(); i++) {
            sj.add("" + formatted.charAt(i));
        }
        
        return sj.toString();
    }
    
    public static void main(String args[]) {
        System.out.println(splitNumber(0));
        System.out.println(splitNumber(123));
        System.out.println(splitNumber(+456));
        System.out.println(splitNumber(-789));
    }
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
sserio Prüfziffer einer ISBN Nummer herrausfinden. Java Basics - Anfänger-Themen 14
A keine Ergebnisse - String nummer in array nummer converting Java Basics - Anfänger-Themen 1
M fortlaufende Nummer Java Basics - Anfänger-Themen 7
E ISBN Nummer mit boolean Java Basics - Anfänger-Themen 5
J Eindeutige Nummer (8 stellig) erzeugen Java Basics - Anfänger-Themen 9
G nach 9 - stelliger Nummer suchen Java Basics - Anfänger-Themen 7
it_is_all For-Schleife - Dateinamen fortlaufende Nummer Java Basics - Anfänger-Themen 2
M Druck mit fortlaufende Nummer Java Basics - Anfänger-Themen 6
W Methode um Nummer zu überprüfen. Java Basics - Anfänger-Themen 5
M Unbekannte Nummer bei Aufruf der toString Methode Java Basics - Anfänger-Themen 3
O String name mit fortlaufender Nummer Java Basics - Anfänger-Themen 14
J OOP Vergebene Objekt Nummer abgleichen falls einer entfernt wird ? Java Basics - Anfänger-Themen 5
M automatische laufende Nummer erzeugen Java Basics - Anfänger-Themen 10
J Gültigkeit einer ISBN Nummer prüfen! Java Basics - Anfänger-Themen 5
G Datenbank über Nummer, Daten bekommen Java Basics - Anfänger-Themen 4
A Dateinamen mit laufender Nummer erzeugen! Wie? Java Basics - Anfänger-Themen 9
M Fortlaufende Nummer Java Basics - Anfänger-Themen 4
S Objekte mit laufender Nummer erzeugen Java Basics - Anfänger-Themen 3
F 2x 16bit Werte zu einem 32bit und dann splitten mit 0xb Java Basics - Anfänger-Themen 1
T String splitten Java Basics - Anfänger-Themen 3
S Nutzereingabe splitten und in string array wieder ausgeben. Java Basics - Anfänger-Themen 1
Henri Filename splitten Java Basics - Anfänger-Themen 8
CptK Datentypen String splitten, ä,ö,ü, etc ignorieren Java Basics - Anfänger-Themen 1
J String splitten Java Basics - Anfänger-Themen 3
A String mit mehreren Zeilen splitten Java Basics - Anfänger-Themen 4
C Erste Schritte Regex - Datei einlesen und splitten Java Basics - Anfänger-Themen 4
J String splitten und weiter einarbeiten in einer Methode? Java Basics - Anfänger-Themen 11
S Java Text splitten mit Tabs, Zeilen, Zeichen und Klammern. Java Basics - Anfänger-Themen 6
C Zeilen in Array einlesen und splitten? Java Basics - Anfänger-Themen 17
MiMa Splitten eines Strings Java Basics - Anfänger-Themen 5
DestinatioN Problem beim splitten eines Satzes in Wörter und die Wörter in Buchstaben Java Basics - Anfänger-Themen 2
S splitten von arrays Java Basics - Anfänger-Themen 6
S Zahl an bestimmter Stelle splitten Java Basics - Anfänger-Themen 6
S String splitten und berichtigen? Java Basics - Anfänger-Themen 16
Z String splitten Java Basics - Anfänger-Themen 2
S String ab dem Wechsel Buchstaben zu Zahlen splitten Java Basics - Anfänger-Themen 14
S String splitten und in ArrayList speichern Java Basics - Anfänger-Themen 4
A String Mehrfach Splitten Java Basics - Anfänger-Themen 1
A Binärstrom splitten und in ArrayList adden Java Basics - Anfänger-Themen 1
G Quellcode "splitten" Java Basics - Anfänger-Themen 6
Bluedaishi Textdateien splitten, neu schreiben Java Basics - Anfänger-Themen 13
X Regex splitten Java Basics - Anfänger-Themen 5
B Variablen Unbekante anzahl an Strings splitten und vergleichen Java Basics - Anfänger-Themen 31
B String in in bestimmten abschnitten splitten Java Basics - Anfänger-Themen 2
H String splitten Java Basics - Anfänger-Themen 6
S String Splitten Java Basics - Anfänger-Themen 2
P Erste Schritte Buffered Image splitten und darstellen Java Basics - Anfänger-Themen 2
I Rechenoperatoren mit Regex splitten Java Basics - Anfänger-Themen 12
T String splitten Java Basics - Anfänger-Themen 2
C Methoden String richtig splitten Java Basics - Anfänger-Themen 5
D splitten Java Basics - Anfänger-Themen 21
0 Strings nach TABULATOR splitten Java Basics - Anfänger-Themen 10
C Regex String splitten Java Basics - Anfänger-Themen 5
T String splitten beim wechsel vom buchstabe zu zahl! Java Basics - Anfänger-Themen 8
F Char Array splitten Java Basics - Anfänger-Themen 5
2 String splitten und nacheinander löschen Java Basics - Anfänger-Themen 11
J Datentypen String splitten ohne festen Ausdruck Java Basics - Anfänger-Themen 8
B Datei in mehrere Ordner splitten und wieder zusammenfuegen... Java Basics - Anfänger-Themen 3
T String in String Array splitten Java Basics - Anfänger-Themen 4
StrikeTom String mehrmals splitten Java Basics - Anfänger-Themen 11
X Splitten eines Strings Java Basics - Anfänger-Themen 3
A Problem beim Splitten eines Strings Java Basics - Anfänger-Themen 10
S String in Integer Array splitten Java Basics - Anfänger-Themen 2
O Werte eines arrays splitten Java Basics - Anfänger-Themen 4
A String nach bestimmten kriterien splitten Java Basics - Anfänger-Themen 13
X Webseite auslesen ohne Quellcode zu splitten Java Basics - Anfänger-Themen 3
S Double splitten Java Basics - Anfänger-Themen 4
M String splitten mit split() Java Basics - Anfänger-Themen 4
T String splitten Java Basics - Anfänger-Themen 2
K String splitten Java Basics - Anfänger-Themen 4
V Byte Arrays in Strings umwandeln und splitten Java Basics - Anfänger-Themen 2
S String splitten Java Basics - Anfänger-Themen 4
O String splitten Java Basics - Anfänger-Themen 9
N Textdatei einlesen, Filtern und Splitten Java Basics - Anfänger-Themen 4
A Datei einlesen und splitten nur zeilenweise Java Basics - Anfänger-Themen 7
M String splitten Java Basics - Anfänger-Themen 2
G String nach Pluszeichen splitten Java Basics - Anfänger-Themen 2
G long datum splitten in day etc Java Basics - Anfänger-Themen 23
G String splitten Java Basics - Anfänger-Themen 3
G Stringinhalt splitten und einzeln verwenden Java Basics - Anfänger-Themen 8
T String splitten und auf fehler abfragen Java Basics - Anfänger-Themen 3
H Problem beim Splitten eines Strings Java Basics - Anfänger-Themen 13
L Stringzeile aus Datei in 5 token splitten und 5D array laden Java Basics - Anfänger-Themen 3
U String splitten Java Basics - Anfänger-Themen 12
D txt nach Zeilen splitten. Java Basics - Anfänger-Themen 9
J Java Aufgabe -> String einlesen, splitten,Substring & Java Basics - Anfänger-Themen 3
loadbrain String splitten Java Basics - Anfänger-Themen 3
M Scanner soll nach einem Ausdruck splitten Java Basics - Anfänger-Themen 2
G eine Zeile in einer Textdatei splitten Java Basics - Anfänger-Themen 15
S txt-Datei nach Leerzeichen Splitten lassen! Java Basics - Anfänger-Themen 3
G Image 'splitten' Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben