Einzelne Ziffern aus einem String

denis7788

Bekanntes Mitglied
Hallo! Ich sitze hier gerade an einer methode die einzelne ziffern eines Strings miteinander addieren soll. zwischen den zahlen sollen auch trennzeichen erlaubt sein, wie - : / ... . ein bsp also: 123-432:123...
ich habs mit string tokenizer gemacht, aber nicht bedacht das dann 123+432+123 rauskommt... jetzt hab ich mit überlegt das man das mit while schleifen in denen man duch 10teilt und modulo 10 ermittelt die einzelnen ziffern bekommt. aber ich glaube das ist irgendwie umständlich. gibt es da ne andere möglichkeit?
 

fastjack

Top Contributor
Wenn Du nur Ziffern addieren sollst, einfach den String in einer Schleife durchgehen. Jedes Zeichen nehmen, in eine Zahl umwandeln und zu einem Gesamtergebnis addieren. Natürlich nur Zeichen in [0-9] in Betracht nehmen, sonst wirds nix mit umwandeln.

Beispiel:

Java:
        String s = "123aaa.456;7";
        int z = 0;
        for (int i = 0, n = s.length(); i < n; i++) {
            char c = s.charAt(i);
            switch(c) {
            case '0':
            case '1':
            case '2':
            case '3':
            case '4':
            case '5':
            case '6':
            case '7':
            case '8':
            case '9':
                z += Integer.parseInt(String.valueOf(c));
                break;
            }
        }
        System.out.println(z == (1+2+3+4+5+6+7));

Den Vergleich kannst Du auch mit RegEx machen, wie gesagt, nur ein Beispiel.

Wenn der String aber ein mathematischer Ausdruck sein soll wirst Du nicht darum herum kommen, Dir einen Infix-Parser zu basteln. --> siehe Google.
 
Zuletzt bearbeitet:

Firestorm87

Bekanntes Mitglied
Eventuell kann man auch den Scanner dahingehend nutzen?
Ansonsten...:
Java:
		final String quelle = "123-432:123";
		final Pattern pattern = Pattern.compile("([0-9]{1})");
		final Matcher matcher = pattern.matcher(quelle);
		while (matcher.find()) {
			System.out.println(matcher.group());
		}
 

Michael...

Top Contributor
Hallo! Ich sitze hier gerade an einer methode die einzelne ziffern eines Strings miteinander addieren soll. zwischen den zahlen sollen auch trennzeichen erlaubt sein, wie - : / ... . ein bsp also: 123-432:123...
Also soll doch ein bisschen mehr gemacht werden als nur addieren??
Mit dem StringTokenizer kann man sich in den Tokens auch die Trennzeichen mit ausgeben lassen. Dann würde das ja wie folgt aussehen (sofern die Syntax des Strings korrekt ist):
1. Token: Zahl
2. Token: Rechenoperator
3. Token: Zahl
...
und man könnte durch Überprüfung der Rechenoperatoren, die jeweiligen Berechnungen durchführen.
 

Firestorm87

Bekanntes Mitglied
Wenn dazwischen wirklich nur rechenoperationen kommen hast du recht...
Allerdings würde das dann keinen Sinn machen das Stellenweise zu addieren ;)

Daher geh ich einfach von Trennstrichen etc aus (z.B. um von nem Key xxxx-xxxx-xx-xxxx ne Quersumme zu bilden)
 

denis7788

Bekanntes Mitglied
die trennzeichen sind nicht als operatoren gedacht... also denke die switch anweisung wäre dann am sinnvollsten... ich probiers dann mal so aus.. thx!!!
 

denis7788

Bekanntes Mitglied
ja geht so . sieht aber hässlich aus, da ich für jedes case die anweisung schreiben muss weil nicht festgelegt ist an welchen positionen die trennzeichen liegen und ich die erste ziffer mit 10 , die zweite ziffer mit 9(letzte mit 1) usw multiplizieren muss. regex kenne ich noch nicht.. bin auch unter zeitdruck.. oder is das easy?
 
Zuletzt bearbeitet:

sign

Bekanntes Mitglied
Weiss nicht ob ich das Problem richtig verstanden hab. ???:L

Java:
String s = "123aaa.456;7";
s = s.replaceAll("\\D", "");
int q = 0;        

for (int i=0; i<s.length(); i++){
   q += Character.getNumericValue(s.charAt(i));
}

System.out.println(q);

lg
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Einzelne Werte aus einem TreeSet auslesen Java Basics - Anfänger-Themen 2
W String einer Textdatei in einzelne Stringobjekte pro Zeile aufteilen Java Basics - Anfänger-Themen 14
E JTable einzelne Zelle färben Java Basics - Anfänger-Themen 2
B Verkettete Liste durchgehen und einzelne Elemente in neue Liste tun Java Basics - Anfänger-Themen 9
B Inventar als einzelne Klassen anlegen? Java Basics - Anfänger-Themen 12
X Wie kann ich Zahlen in einzelne Zifferne zerlegen? Java Basics - Anfänger-Themen 3
O Einzelne Bits umwandeln und prüfen Java Basics - Anfänger-Themen 23
C Auf einzelne Werte aus HashSet zugreifen Java Basics - Anfänger-Themen 10
K Einzelne Email verschieben nicht möglich Java Basics - Anfänger-Themen 3
F Arrays Sätze speichern und einzelne Worte mit Index Angabe auslesen Java Basics - Anfänger-Themen 4
M Einzelne Pixel in einem Bild auslesen und bearbeiten Java Basics - Anfänger-Themen 1
B lanterna einzelne Zeichen aus dem Terminal löschen Java Basics - Anfänger-Themen 0
C Matrixmultiplikation ohne einzelne Elemente aufzurufen Java Basics - Anfänger-Themen 2
T JTable einzelne Zeilen löschen Java Basics - Anfänger-Themen 3
A Variablen String Array in einzelne Strings auspalten Java Basics - Anfänger-Themen 4
J Methoden Einzelne Objekte eines Vectors addieren Java Basics - Anfänger-Themen 10
S Einzelne Buchstaben aus Jtextfield in array Java Basics - Anfänger-Themen 2
R Einzelne Zahlen von der Eingabe (Scan) weiterverarbeiten Java Basics - Anfänger-Themen 3
D Kleinere Positionsangabe als einzelne Pixel bei Image? Java Basics - Anfänger-Themen 28
F Einzelne Werte aus einem Array vergleichen? Java Basics - Anfänger-Themen 8
H Input/Output JTextArea einzelne Zeile auslesen Java Basics - Anfänger-Themen 6
X String einzelne Buchstaben ersetzen Java Basics - Anfänger-Themen 4
M Einzelne Zeilen nach Zeichen auslesen Java Basics - Anfänger-Themen 4
T Erste Schritte einzelne Wörter aus textdatei lesen... Java Basics - Anfänger-Themen 4
M JTable einzelne Spalte rechtsbündig Java Basics - Anfänger-Themen 2
M JUnit - nur einzelne Methode testen? Java Basics - Anfänger-Themen 4
S Einzelne Werte von Array-Feld löschen Java Basics - Anfänger-Themen 15
N TextZeile in einzelne Strings teilen, die mit Komma getrennt sind Java Basics - Anfänger-Themen 4
A einzelne Zeichen aus String auslesen Java Basics - Anfänger-Themen 3
J Von einem String einzelne Wörter speichern Java Basics - Anfänger-Themen 6
R einzelne Bits prüfen Java Basics - Anfänger-Themen 12
H String zerlegen in einzelne Buchstaben (char)?? Java Basics - Anfänger-Themen 7
A Einzelne TeilStrings einfärben Java Basics - Anfänger-Themen 3
S mehrere einzelne klassen in eine datei packen Java Basics - Anfänger-Themen 4
K Datentypen Liste: Einzelne Einträge ändern Java Basics - Anfänger-Themen 2
B Was für Aufgaben haben die einzelne Entwurfsmuster? Java Basics - Anfänger-Themen 9
C Einzelne Werte eines Arrays ausgeben Java Basics - Anfänger-Themen 2
B Laufzeitverschlechterung durch Auslagerung in einzelne Threads Java Basics - Anfänger-Themen 8
MrMilti einzelne Methoden einer Klasse auslagern Java Basics - Anfänger-Themen 6
T Einzelne Ziffer zusammenfügen (ohne Strings oder Arrays) Java Basics - Anfänger-Themen 2
M einzelne Pixel setzen/auslesen Java Basics - Anfänger-Themen 2
N aus HTML einzelne Inhalte (z.B. Tabelleninhalte) auslesen Java Basics - Anfänger-Themen 10
A Nur einzelne Methode einer anderen Klasse starten Java Basics - Anfänger-Themen 2
G Einzelne Datei im jar verändern ? Java Basics - Anfänger-Themen 5
B Einzelne Zellen in JTable markieren Java Basics - Anfänger-Themen 2
C String.split("") einzelne Positionen abfragen Java Basics - Anfänger-Themen 10
ven000m Primzahl.class wie starte ich diese einzelne Datei? Java Basics - Anfänger-Themen 10
R einzelne Zelle einer JTable bearbeiten Java Basics - Anfänger-Themen 2
M Object zu Int Problem, obwohl einzelne Objecte Int sind =( Java Basics - Anfänger-Themen 2
J String - einzelne Zeichen sortieren Java Basics - Anfänger-Themen 14
G Einzelne Zeilen beschreiben Java Basics - Anfänger-Themen 4
E einzelne Zeile mithilfe Steams aus Textdatei überschreiben Java Basics - Anfänger-Themen 23
F einzelne Buchstaben in JTextField ändern Java Basics - Anfänger-Themen 11
S setCellRenderer für EINZELNE Zelle Java Basics - Anfänger-Themen 9
S Zugriff auf einzelne Buchstaben eines String Java Basics - Anfänger-Themen 16
J Jtable - wie einzelne zelle markieren Java Basics - Anfänger-Themen 8
ixChronos Letzten 4 Ziffern einer großen Zahl ausgeben Java Basics - Anfänger-Themen 3
Shadowrunner Variablen Gibt es eine Möglichkeit die Ziffern/Stellen einer Zahl fest zu legen? Java Basics - Anfänger-Themen 3
B Alle Zahlen finden, die 3 bestimmte Ziffern enthalten? Java Basics - Anfänger-Themen 9
obiwanke Ziffern durch ASCII Character ersetzen Java Basics - Anfänger-Themen 8
M LCD-Ziffern-Hilfe Java Basics - Anfänger-Themen 6
Marlena Bauer LCD Ziffern Java Basics - Anfänger-Themen 13
sashady Zahlen rekursiv zerlegen und Ziffern addieren Java Basics - Anfänger-Themen 38
Khaled-Abo Ziffern unterscheiden mittels einer For-Schleife Java Basics - Anfänger-Themen 6
C alle möglichen Kombinationen zweier Ziffern auf drei / vier / und 'n" Stellen Java Basics - Anfänger-Themen 11
Kingamadeus2000 Anzahl der Ziffern der kürzesten Zahl aus einem zurückliefern Java Basics - Anfänger-Themen 1
G Überprüfen ob alle Ziffern von 1-9 in einem Integer vorhanden sind Java Basics - Anfänger-Themen 6
I Arabische Ziffern in römische Ziffern Java Basics - Anfänger-Themen 1
J Rekursive Methode - Ziffern einer Zahl ausgeben Java Basics - Anfänger-Themen 2
F Produkt d. Ziffern einer Zahl..?! Java Basics - Anfänger-Themen 5
L (Integer) Liste nach aufsteigender Summe der Ziffern sortieren (mit Bedingung) Java Basics - Anfänger-Themen 8
C Datentypen String aus Ziffern erhöhen und als String zurückgeben Java Basics - Anfänger-Themen 16
P vokale konsonanten ziffern satzzeichen aus string lesen. hab kiene ahnung Java Basics - Anfänger-Themen 10
E String bestehend aus Ziffern in Zahl verwandeln Java Basics - Anfänger-Themen 3
W Methoden Ausgabe true wenn nur Ziffern <= 1 vorhanden Java Basics - Anfänger-Themen 9
J Skalierung von Ziffern Java Basics - Anfänger-Themen 10
K wiederholung von ziffern Java Basics - Anfänger-Themen 3
K double-Wert aus einzelnen Ziffern erzeugen Java Basics - Anfänger-Themen 7
T Ziffern anordnen Java Basics - Anfänger-Themen 3
P Arabische (indische) Ziffern Java Basics - Anfänger-Themen 4
M Methode für nur Ziffern?? Java Basics - Anfänger-Themen 3
B Auf die Ziffern einer Zahl zugreifen Java Basics - Anfänger-Themen 6
C Rekursive Methode - Ziffern in Zahl Java Basics - Anfänger-Themen 33
Haave EAN-13-Prüfziffer: Vermeiden von Eingaben mit mehr/weniger als 12 Ziffern Java Basics - Anfänger-Themen 3
G 9-stellige Zahl mit den Ziffern 1-9 Java Basics - Anfänger-Themen 2
N Wie kann ich Ziffern einer eingegenen Zahl adressieren? Java Basics - Anfänger-Themen 6
B Ziffern erkennung Java Basics - Anfänger-Themen 4
N Römische Zahlen in Arabische Ziffern umgewandeln Java Basics - Anfänger-Themen 18
G Summe der Ziffern einer Zahl EFFIZIENT berechnen? Java Basics - Anfänger-Themen 18
G String auf Ziffern prüfen Java Basics - Anfänger-Themen 30
B Eingabe von Ziffern prüfen Java Basics - Anfänger-Themen 3
W Letzten beiden Ziffern eines BigIntegers bestimmen? Java Basics - Anfänger-Themen 20
G Ziffern tauschen Java Basics - Anfänger-Themen 15
M Römische Ziffern Java Basics - Anfänger-Themen 5
G Wie eine Int Zahl in die einzelnen Ziffern zerlegen? Java Basics - Anfänger-Themen 6
L Anzahl der Eingegebenen Ziffern ausgeben? Java Basics - Anfänger-Themen 7
M nur Ziffern dürfen eingetippt werden Java Basics - Anfänger-Themen 10
F Ziffern einer eingelesenen Zahl ausgeben bzw. bearbeiten Java Basics - Anfänger-Themen 4
S Anzahl der Ziffern einer Zahl Java Basics - Anfänger-Themen 10
K Mehrere Werte in einem Switch Case parallel überprüfen Java Basics - Anfänger-Themen 23

Ähnliche Java Themen

Neue Themen


Oben