View Full Version : [Java] Convertire stringa in un array di interi
Esiste qualche metodo che mi permetta di convertire una stringa in un array di interi?
Esempio, ho la stringa "38 56 73 21", dovrei avere un array di interi da 4 elementi coi numeri presenti nella stringa. Un pò come l'array args nel main, quando gli si passano i parametri!
Grazie ;)
Esiste qualche metodo che mi permetta di convertire una stringa in un array di interi?
Esempio, ho la stringa "38 56 73 21", dovrei avere un array di interi da 4 elementi coi numeri presenti nella stringa. Un pò come l'array args nel main, quando gli si passano i parametri!Un metodo apposito non esiste ma puoi realizzarne uno in modo molto semplice:
public static int[] parseIntArray (String str)
{
String[] vstr = str.split ("\\s+");
int[] vint = new int[vstr.length];
for (int i = 0; i < vstr.length; i++)
vint[i] = Integer.parseInt (vstr[i]);
return vint;
}Il codice è valido per Java 1.4 o superiore e, nota bene, può lanciare delle eccezioni di tipo unchecked (in particolare NumberFormatException).
Fenomeno85
24-04-2006, 18:41
public static void main(String[] args) {
String prova = "12 34 54";
String sup[] = new String[3];
int []value = new int [3];
sup = prova.split(" ");
for (int i=0;i<3;i++)
value[i] = Integer.parseInt(sup[i]);
}
~§~ Sempre E Solo Lei ~§~
Ho visto che posso usare anche la classe StringTokenizer, che fa ne più ne meno quello che avete scritto voi.
Grazie ;)
Ho visto che posso usare anche la classe StringTokenizerCerto, è vero. Volendo riscrivere il metodo che ho postato prima usando però StringTokenizer, lo scriverei così:
import java.util.*;
public static int[] parseIntArray2 (String str)
{
StringTokenizer strTok = new StringTokenizer (str, "\t ");
int size = strTok.countTokens ();
int[] vint = new int[size];
for (int i = 0; i < size; i++)
vint[i] = Integer.parseInt (strTok.nextToken ());
return vint;
}Naturalmente scegli quello che ti è più comodo e utile. ;)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.