Umwandlung String-Array zu einem Integer-Array
also im Grunde Nutzer eine Sequenz aus einem scanner-Eingang.
12, 3, 4
etc.
Es kann beliebig lange und es hat auf ganze zahlen.
Ich möchte konvertieren Sie die string Eingabe in einen integer-array.
so int[0]
wäre 12
, int[1]
wäre 3
usw.
Irgendwelche Tipps und Ideen? Ich dachte der Umsetzung if charat(i) == ','
Holen Sie sich die Vorherige Nummer(N) und analysieren Sie Sie zusammen und wenden Sie Sie auf den aktuellen verfügbaren Position in das array. Aber ich bin mir nicht ganz sicher, wie die code.
InformationsquelleAutor der Frage Mario | 2013-09-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Konnte man Lesen Sie die gesamte input-Zeile aus scanner, dann teilen Sie die Linie durch
,
dann haben Sie eineString[]
analysieren jede Zahl inint[]
mit index eins-zu-eins-matching...(vorausgesetzt, der zulässige Eingabebereich und keineNumberFormatExceptions
) wieAls YoYo ' s Antwort schlägt vor, die oben mehr erreicht werden kann, die kurz und prägnant in Java 8:
Zu handhaben ungültige Eingabe
Müssen Sie überlegen, was Sie wollen, tun müssen, in diesem Fall, wollen Sie wissen, dass es schlecht war, Eingang, element, oder, gerade lassen es aus.
Wenn Sie brauchen nicht zu wissen, über ungültige Eingabe, sondern wollen einfach nur, um weiterhin die Analyse der array-können Sie das folgende tun:
Dem Grund sollten wir trimmen das resultierende array ist, dass die ungültige Elemente am Ende der
int[]
wird vertreten durch ein0
diese müssen entfernt werden, um zu unterscheiden zwischen eine gültige Eingabe Wert0
.Ergebnisse in
Wenn Sie wissen müssen über die ungültige Eingabe später können Sie das folgende tun:
In diesem Fall schlechte-Eingang (not a valid integer) wird das element null.
Ergebnisse in
Könnten Sie möglicherweise die Leistung verbessern, indem nicht die exception zu fangen (sehen Sie, diese Frage für mehr Informationen) und eine andere Methode verwenden, um zu überprüfen, für gültige Ganzzahlen.
InformationsquelleAutor der Antwort Java Devil
Zeile
InformationsquelleAutor der Antwort YoYo
aber zum beenden der while-Schleife, die Sie haben, um jedem charecter am Ende der Eingabe.
ex. Eingang:
Ausgabe:
InformationsquelleAutor der Antwort Shreyansh