2013-03-07 117 views

回答

6

从zvzdhk:

String[] array = "1,2,3,4,5".split(","); 

然后,解析您的整数:

int[] ints = new int[array.length]; 
for(int i=0; i<array.length; i++) 
{ 
    try { 
     ints[i] = Integer.parseInt(array[i]);   
    } catch (NumberFormatException nfe) { 
     //Not an integer 
    } 
} 
+0

它为我工作感谢您的答复,但.split(“,”)如何工作? – 2013-03-07 12:49:09

+1

请查阅Java API,它是一个String方法。 http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#split%28java.lang.String%29 – mmoore 2013-03-07 12:51:12

2

尝试这种情况:

String[] array = "1,2,3,4,5".split(","); 
int[] result = new result[array.length]; 
for (int i = 0; i < array.length; i++) { 
    try { 
     result[i] = Integer.parseInt(array[i]); 
    } catch (NumberFormatException nfe) {}; 
} 
+0

他需要一个整数数组。 – 2013-03-07 12:33:54

+0

感谢您的回复.. – 2013-03-07 12:49:49

+0

@Gorakh_sth不客气。 – bsiamionau 2013-03-07 19:20:31

1

使用的StringTokenizer将由逗号分割字符串,然后把这些值/令牌整数数组。

public static int[] getIntegers(String numbers) { 
    StringTokenizer st = new StringTokenizer(numbers, ","); 
    int[] intArr = new int[st.countTokens()]; 
    int i = 0; 
    while (st.hasMoreElements()) { 
     intArr[i] = Integer.parseInt((String) st.nextElement()); 
     i++; 
    } 
    return intArr; 
} 
+0

非常感谢你 – 2013-03-07 12:50:05

0
String [] str = "1,2,3,4,5".split(","); 
int arrayInt[] = new int[str.length]; 
for (int i = 0; i < str.length; i++) 
    arrayInt[i]=Integer.valueOf(str[i]); 
0

随着番石榴,你可以在一行做到这一点:

int[] array = Ints.toArray(Lists.newArrayList(Ints.stringConverter().convertAll(Splitter.on(",").split("1,2,3,4,5")))); 

左右(如果你不需要一个数组):

Iterable<Integer> ints = Ints.stringConverter().convertAll(Splitter.on(",").split("1,2,3,4,5"));