Die Spaltung und Umwandlung von String zu int
Ich habe ein problem mit meinem code. Ich lese ein paar zahlen von einer text-Datei. Zum Beispiel:
Textfile.txt
1, 21, 333
Mit meinem nachfolgenden code will ich splitten und konvertieren Sie die zahlen von String zu int.
int answer = 0;
int factor = 1;
//Splitting and deleting the "," AND converting String to int.
for (String retval : line.split(",")) {
for (int j = retval.length() - 1; j >= 0; j--) {
answer = answer + (retval.charAt(j) - '0') * factor;
factor *= 1;
}
System.out.println(answer);
answer = (answer - answer);
}
Bekomme ich das Ergebnis in meiner Konsole (int):
1 3 9
Ich sehen, dass die Zahl 3 ein Ergebnis von 2 + 1, und die Zahl 9 ist das Ergebnis der 3 + 3 + 3.
Was kann ich tun, erhalten Sie Folgendes Ergebnis in meiner Konsole (int)?
1 21 333
/EDIT: ich darf nur Java.lang und Java.IO
- Sie wahrscheinlich tun möchten:
factor *= 10
😉
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist eine Lösung, die mit Java 8 streams:
Alternativ mit einer Schleife, verwenden Sie einfach
parseInt
:Wenn Sie wirklich wollen, das Rad neu zu erfinden, Sie können das auch:
Können Sie
Integer.valueOf(retval)
oderInteger.parseInt(retval)
Ein paar Probleme:
factor
werden sollte, multipliziert mit 10 in jeder Schleifeanswer
undfactor
sollte neu initialisiert werden zwischen den zahlen, die Sie sind Parsen:AUSGABE
Gut, man könnte die Antwort ein string, und warf es auf eine ganze Zahl nach der for-Schleife.
Für Leute, die kommen hier aus einer Suche, diese Funktion nimmt eine getrennte Werte Zeichenkette und Trennzeichen, string und gibt eine integer-array mit extrahierten Werten.