Zahlen in String bestimmt schneiden!

Hallo allseits,

ich habe schon seit einige Stunden ein Problem und komme da auch wirklich nicht weiter und würde mich sehr freuen, wenn Ihr mir weiter helfen würdet.

Also wir haben eine 24 Stellige Zahl:
Java:
String zahlen = "123456780000123456131400";

Davon werden die ersten neun Zahlen herausgeschnitten und mit modulo 97 gerechnet. Daraus folgt dann:
Java:
String neunStellig = zahlen.substring(0,9);
...
neunStellig % 97 ergibt 30

Das Ergebnis wird nun vorne an die verbliebene 15 stellige Zahlen hinzugefügt:
Java:
30000123456131400

Nun sollen wieder die ersten 9 Zahlen herausgeschnitten und wieder mit modulo 97 gerechnet werden:
Java:
300001234

Das Ergebnis wird wieder vorne hinzugefügt und das ganze soll sich wiederholen bis keine restlichen Ziffern mehr vohanden sind.

Also es sollten folgende Ergebnisse rauskommen:
Java:
123456780000123456131400:

123456780 modulo 97 = 30

300001234 modulo 97 = 22

225613140 modulo 97 = 64

640 modulo 97 = 58.

58 käme dann als end-Ergebnis raus.

So ungefähr habe ich es versucht aber ich komme nicht weiter:

Java:
Pseudocode:

String zahlen = "123456780000123456131400";
int len = zahlen.length();
int sum = 0;

while(len < 0){

String neueZahlen = zahlen.substring(0, 9);
int nZahlen = Integer.parseInt(neueZahlen);

sum = nZahlen % 97;
String sumToString = Integer.toString(sum);

String newLaenge = sumToString+ restliche Länge;

-> Wie bekomme ich die restliche Länge
-> Wie kann ich die restliche Länge bis zu 9. Stelle schneiden

Und das ganze wieder von vorne bis keine Zahl mehr übrig bleibt.


}

Ich freue mich auf die schnelle und hilfreiche Antworten.

Lg
 
Edit: So sieht das ganze dann aus:
Java:
Start: 123456780000123456131400
---------------------------------------------------------------------
Cut 9 of them: 123456780
Calculate: 123456780 % 97 = 30
The rest of the length: 000123456131400
Add result in front of the rest of the length: 30000123456131400
---------------------------------------------------------------------
Cut 9 of them: 300001234
Calculate: 300001234 % 97 = 22
The rest of the length: 56131400
Add result in front of the rest of the length: 2256131400
---------------------------------------------------------------------
Cut 9 of them: 225613140
Calculate: 225613140 % 97 = 64
The rest of the length: 0
Add result in front of the rest of the length: 640
---------------------------------------------------------------------
Calculate:  640 % 97 = 58
 

Flown

Administrator
Mitarbeiter

truesoul

Top Contributor
Du hast ja das Substring von 0 bis 9 und jetzt kannst du einfach mit
Java:
zahlen =zahlen.substring(9)
den Rest holen.

Die Bedingung für die while-Schleife sollte eher
Java:
while(len > 9) {...
lauten.

Wenn die Bedingung so lauten würde er spätestens nicht mehr das berechnen: Calculate: 640 % 97 = 58
Ich würde eher sagen, dass der Wert nicht kleiner sein sollte als 97.

Und davor würde zahlen = zahlen.substring(0,9) eine Exception schmeißen. Da 640 keine 9 Stellen hat :)

Ich würde dafür eine do while Schleife nehmen und dann berücksichtigen dass keine keine Exception geschmissen wird und ein int ist auch nicht so optimal bei solchen Zahlenwerte.

Grüße
 

Flown

Administrator
Mitarbeiter
@truesoul Was redest du da von Exception etc.. Es ist garantiert, wenn die Länge > 9 ist, das das Substring auf 9 funktioniert.

BTW: Hast du dir die erwartete Ausgabe angesehen?
 

Flown

Administrator
Mitarbeiter
Vielen vielen dank für die Rückmeldungen. Ich weiss nicht ob das ganze jetzt sauber programmiert ist, doch die Aufgabe habe ich hinbekommen.

So hat es funktioniert:
Java:
public static int getModuloOfBBAN(String code, String blz, String kontonummer){
       
        String total = transformCode(code, blz, kontonummer);
        String ninecharacters = total.substring(0, 9);
        int newTotal = Integer.parseInt(ninecharacters);
        int newSum = 0;
       
        while(newTotal > 100) {
           
            if (total.length() > 9)
                ninecharacters = total.substring(0, 9);
              else
                ninecharacters = total.substring(0, total.length());

           
            newTotal = Integer.parseInt(ninecharacters);
            newSum = newTotal % 97;
            String summedUp = Integer.toString(newSum);
            String newString = summedUp + total.substring(total.indexOf(ninecharacters) + ninecharacters.length());
            total = newString;

        }
       
        return newSum;

    }
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
macle Rekursive String Methode, Gerade Zahlen rausfiltern Java Basics - Anfänger-Themen 10
L Mit Zahlen im String rechnen Java Basics - Anfänger-Themen 19
D Java doppelte Zahlen auch über 10 in einem String entfernen Java Basics - Anfänger-Themen 2
S Zahlen an String anfügen Java Basics - Anfänger-Themen 2
S String ab dem Wechsel Buchstaben zu Zahlen splitten Java Basics - Anfänger-Themen 14
T Array mit String, Zahlen in If Saetze packen Java Basics - Anfänger-Themen 3
G String Elemente auf Zahlen Überprüfen Java Basics - Anfänger-Themen 21
M String nach Zahlen durchsuchen Java Basics - Anfänger-Themen 21
M Anzahl Zahlen in String Java Basics - Anfänger-Themen 21
X String Sonderzeichen/Zahlen erkennen Java Basics - Anfänger-Themen 3
C Problem mit der Extraktion von Zahlen aus einem String Java Basics - Anfänger-Themen 8
M String mit mehreren Zahlen in Integer-Array Java Basics - Anfänger-Themen 2
G Zahlen aus String filtern? Java Basics - Anfänger-Themen 3
G String aus Zahlen multiplizieren -> unendlich große ! Java Basics - Anfänger-Themen 13
S String Vergleich mit Passwort geht nur bei Zahlen ? Java Basics - Anfänger-Themen 7
A Beliebiger String --> Buchstaben und Zahlen Java Basics - Anfänger-Themen 4
P String auf Zahlen beschränken Java Basics - Anfänger-Themen 16
P Zahlen aus String auslesen und dann sortieren. Java Basics - Anfänger-Themen 2
V String überprüfen, nur Punkte und Zahlen erlaubt Java Basics - Anfänger-Themen 7
S String in ACSII Zahlen umwandeln Java Basics - Anfänger-Themen 10
G String buchstaben in Zahlen umwandeln Java Basics - Anfänger-Themen 5
F Zahlen ine-notation aus string Java Basics - Anfänger-Themen 4
A String in Zahlen/Summe umformen Java Basics - Anfänger-Themen 2
D String überprüfen auf Zahlen. Java Basics - Anfänger-Themen 16
O String nur importieren wenn nur zahlen da sind? Java Basics - Anfänger-Themen 7
P Integer aus String erzeugen, der nicht nur Zahlen hat. Java Basics - Anfänger-Themen 2
V Zahlen sortieren und String zuweisen Java Basics - Anfänger-Themen 7
S String --> Zahlen herausschneiden an bestimmten Positione Java Basics - Anfänger-Themen 3
P String aus Zahlen auslesen und in einem Array speichern Java Basics - Anfänger-Themen 3
G zwei Zahlen bei String.valueOf(char c) in JTextField Java Basics - Anfänger-Themen 7
onlyxlia Anzahl Random Zahlen mit Scanner abfragen und in Array speichern Java Basics - Anfänger-Themen 10
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
P Aus Text Datei nur Zahlen übernehmen Java Basics - Anfänger-Themen 13
K Warum werden immer noch doppelte Zahlen ausgegeben ? Java Basics - Anfänger-Themen 13
M negative Zahlen bei Intervallen Java Basics - Anfänger-Themen 10
XWing Doppelte Zahlen im Array Java Basics - Anfänger-Themen 8
M 3 Zahlen miteinander vergleichen Java Basics - Anfänger-Themen 18
J Taschenrechner mit mehr als 2 Zahlen. Java Basics - Anfänger-Themen 18
O Zahlen aus einem char-array per char + Zeichen addieren Java Basics - Anfänger-Themen 2
B Alle Zahlen finden, die 3 bestimmte Ziffern enthalten? Java Basics - Anfänger-Themen 9
K Java gleicher Wert von Zahlen? Java Basics - Anfänger-Themen 5
I aus 2 random zahlen soll nur die ungerade summe der beiden genommen werden. Java Basics - Anfänger-Themen 13
J Operatoren Zahlen addieren Java Basics - Anfänger-Themen 13
B Threads Counter mit ungeraden Zahlen Java Basics - Anfänger-Themen 32
JavaBeginner22 Java 2 Zufalls zahlen generieren. Java Basics - Anfänger-Themen 11
X Wie kann man ein Regex erstellen, die 8-Bit-Binär-Zahlen darstellen. Java Basics - Anfänger-Themen 1
M Stream mit den ersten n natürlichen Zahlen Java Basics - Anfänger-Themen 4
D Größtes Palindrom Produkt aus zwei dreistelligen Zahlen Java Basics - Anfänger-Themen 60
T Methode, die prüft ob in einem Int-Array maximal 2 Zahlen enthalten sind, die größer als ihr Vorgänger sind Java Basics - Anfänger-Themen 5
sserio Befreundete Zahlen Java Basics - Anfänger-Themen 7
AhmadSlack Verzweigungen zahlen multiplizieren Java Basics - Anfänger-Themen 4
padde479 Array Multiplikation der ersten n Zahlen Java Basics - Anfänger-Themen 7
U Lotto-Zahlen App Java Basics - Anfänger-Themen 34
berserkerdq2 Wie würde man einen regulären Ausdruck in Java schreiben, der prüft, dass zwei bestimtme Zahlen nicht nebeneinadner sind? Java Basics - Anfänger-Themen 3
H Arrays: Größten Zahlen Unterschied herausfinden Java Basics - Anfänger-Themen 20
bluetrix Programmieren eines Bots für Zahlen-Brettspiel Java Basics - Anfänger-Themen 9
J Zahlen bis zu einem bestimmten Grenzwert ausgeben Java Basics - Anfänger-Themen 11
00111010101 Objektorientiertes Programmieren mit Vererbung (Zahlen in Array verschwinden) Java Basics - Anfänger-Themen 3
P Zweidimensionales Array als Tabelle mit befüllten Zahlen Java Basics - Anfänger-Themen 10
W Wie ziehe ich von einer bestimmten Zahl, Zahlen ab, bis mein Ergebnis null beträgt? Java Basics - Anfänger-Themen 10
emx-zee Erste Schritte NullPointerException, Array mit zufälligen Zahlen füllen Java Basics - Anfänger-Themen 2
W Bestimmte Zahlen bei Math.random ausschließen? Java Basics - Anfänger-Themen 31
K Erste Schritte "Taschenrechner" zeigt keine Komma Zahlen an. Java Basics - Anfänger-Themen 8
P Drei Zahlen eines Würfelspiels auswerten Java Basics - Anfänger-Themen 7
H Häufigkeit von Zahlen ermitteln Java Basics - Anfänger-Themen 23
sashady Zahlen rekursiv zerlegen und Ziffern addieren Java Basics - Anfänger-Themen 38
H Zahlen kürzen Java Basics - Anfänger-Themen 2
ansystin Teilerfremde Zahlen ausgeben + Zahlenausgabe speichern Java Basics - Anfänger-Themen 3
B Häufigkeit einzelner Zahlen in einem Array Java Basics - Anfänger-Themen 6
nevel Programm für die Summer der Zahlen 1- 1ß Java Basics - Anfänger-Themen 12
jhCDtGVjcZGcfzug Fibonacci Zahlen rekursiv und iterativ Java Basics - Anfänger-Themen 21
H Eingegebene Zahlen mit Array ausgeben Java Basics - Anfänger-Themen 18
I 12 Spalten von jeweils 30 Zahlen in Konsole ausgeben Java Basics - Anfänger-Themen 6
R Array mit Unter- und Obergrenze ganze Zahlen dazwischen erscheinen nicht Java Basics - Anfänger-Themen 1
OZAN86 For Schleife von 1-50 die Zahlen werden durch ein Komma getrennt Java Basics - Anfänger-Themen 10
Bademeister007 Operatoren Alle Zahlen einer ArrayList die durch 5 teilbar ist Java Basics - Anfänger-Themen 2
mhmt_03 dafür sorgen, dass im JTextfield nur zahlen eingebbar sind Java Basics - Anfänger-Themen 9
Ianatrix Zahlen von a bis b berechnen Java Basics - Anfänger-Themen 7
P Wie kann ich die Zahlen dieses Arrays dividieren? Java Basics - Anfänger-Themen 2
P Nutzer entscheiden lassen, wie viele Zahlen dieser in ein Array eingeben möchte. Java Basics - Anfänger-Themen 6
T Bestimmte Zahlen ausgeben mit einer whilfe Schleife Java Basics - Anfänger-Themen 21
H Alle Geraden zahlen bis 10 ausgeben Java Basics - Anfänger-Themen 11
java3690 Liste mit zufälligen zahlen füllen Java Basics - Anfänger-Themen 27
M Regex nur Zahlen und Punkt zulassen, Keine Eingabe(Leeres TextFeld) nicht zulassen Java Basics - Anfänger-Themen 6
G Java eingelesene Zahlen Java Basics - Anfänger-Themen 2
D Zahlen werden falsch gekürzt :? Java Basics - Anfänger-Themen 27
H Ungerade Zahlen ausgeben von 1 bis 1000 Java Basics - Anfänger-Themen 8
C Positive und negative Zahlen mit Regex extrahieren Java Basics - Anfänger-Themen 8
N Wörter und Zahlen nach speziellen Wörtern ausgeben Java Basics - Anfänger-Themen 11
F Komplexe Zahlen auf verschiedene Weise addieren Java Basics - Anfänger-Themen 18
L Java Int-Array, Zahlen sortieren Java Basics - Anfänger-Themen 8
B Fibonacci Zahlen dynamische Programmierung Java Basics - Anfänger-Themen 7
V Erste Schritte Taschenrechner mit beliebig vielen Zahlen Java Basics - Anfänger-Themen 5
X Wie kann ich Zahlen in einzelne Zifferne zerlegen? Java Basics - Anfänger-Themen 3
J 10 positive Zahlen eingeben Java Basics - Anfänger-Themen 10
K Rechtsbündige Ausgabe von Zahlen Java Basics - Anfänger-Themen 6
A Wie zwei zahlen in einer Variable speichern? Java Basics - Anfänger-Themen 7
M Zahlen erraten Java Basics - Anfänger-Themen 7
E Zahlen von einem Array mit zahlen von zweitem Array vergleichen Java Basics - Anfänger-Themen 27
S Mit nextGaussian() positive Zahlen erzeugen? Java Basics - Anfänger-Themen 39

Ähnliche Java Themen

Neue Themen


Oben