La conversion de Tableau de Chaîne vers un Tableau d'Entiers
donc, fondamentalement, l'utilisateur entre dans une séquence à partir d'un scanner d'entrée.
12, 3, 4
, etc.
Il peut être de n'importe quelle longueur de long et il doit être entiers.
Je veux convertir la chaîne de caractères d'entrée vers un tableau d'entiers.
donc int[0]
serait 12
, int[1]
serait 3
, etc.
Des conseils et des idées? Je pensais à la mise en œuvre de if charat(i) == ','
obtenir le numéro précédent(s) et de les analyser ensemble, et de l'appliquer à l'actuel emplacement disponible dans le tableau. Mais je ne suis pas tout à fait sûr de savoir comment code.
Quel est votre code pour le scanner d'entrée?
C'est un double de la question stackoverflow.com/questions/6881458/...
Voici une fonction qui devrait vous aider: stackoverflow.com/a/43613298/7919904
C'est un double de la question stackoverflow.com/questions/6881458/...
Voici une fonction qui devrait vous aider: stackoverflow.com/a/43613298/7919904
OriginalL'auteur Mario | 2013-09-16
Vous devez vous connecter pour publier un commentaire.
Vous avez pu lire l'ensemble de l'entrée de la ligne à partir d'un scanner, puis séparer la ligne par
,
alors vous avez unString[]
, analyser chaque numéro de téléphone dans l'int[]
avec un indice à un correspondant...(en supposant que l'entrée valide et aucunNumberFormatExceptions
) commeComme YoYo réponse l'indique, le ci-dessus peut être réalisé de façon plus concise, dans Java 8:
Pour gérer l'entrée non valide
Vous aurez besoin de considérer ce que vous voulez besoin de faire dans ce cas, voulez-vous de savoir qu'il était mauvais d'entrée à l'élément ou de l'ignorer.
Si vous n'avez pas besoin de savoir à propos de l'entrée non valide mais juste envie de continuer l'analyse du tableau, vous pouvez effectuer les opérations suivantes:
La raison pour laquelle on doit découper le tableau qui en résulte est que l'invalide à la fin de la
int[]
sera représenté par une0
, ceux-ci doivent être retirés afin de différencier entre une entrée valide la valeur de0
.Résultats dans
Si vous avez besoin de savoir sur l'entrée non valide plus tard, vous pouvez effectuer les opérations suivantes:
Dans ce cas mauvais d'entrée (pas un entier valide) l'élément sera null.
Résultats dans
Vous pourriez potentiellement améliorer les performances en évitant d'attraper l'exception (voir cette question pour en savoir plus) et utiliser une autre méthode pour vérifier la validité des entiers.
C'était simplement une suggestion à faire face avec une entrée non valide. Tenir compte de la contribution
4,6,z,10
. Ici lez
serait la cause d'uneNumberFormatException
donc, si le maintien de l'aidei
comme l'indice qu'il y aurait unenull
à la troisième position dans le Tableau Entier. Tout dépend de comment vous voulez traiter avec ce scénario. L'indice supplémentaire dont je parle est d'ignorer laz
ainsi, dans le dernier tableau d'Entiers, le troisième nombre serait10
.OriginalL'auteur Java Devil
Ligne par ligne
OriginalL'auteur YoYo
mais pour mettre fin à la boucle while, vous devez mettre tout charecter à la fin de l'entrée.
ex. entrée:
de sortie:
OriginalL'auteur Shreyansh