2016-08-12 71 views
0

我有欲由逗號分割的字符串(易處理):將字符串分割由逗號分隔的並存儲的值到一個int數組

String numbers = "1,2,3"; 

但是,我然後想每個元素轉換

int[][] array = new int [0][]; 
array[0] = new int[] {1,2,3}; 

我怎樣才能實現這一點:分割字符串轉換成一個int可以存儲在由逗號分隔的作爲int數組的?

+0

你不需要二維數組。拆分字符串並將其解析爲Integer。 – Rao

+0

我可以使用Integer.parseint()將它分解爲一個整數後解析字符串,但是,我想知道如何創建逗號分隔的整數? – Yehudah

+0

@Yhhudah檢查我的答案。如果我理解正確,我想這就是你要找的。 –

回答

0
String[] strArr = numbers.split(","); 
int[][] array = new int[1][]; 
for(int i = 0; i < strArr.length; i++) { 
    array[0][i] = Integer.parseInt(strArr[i]); 
} 
2

二維數組是不必要的。您只需使用split方法將逗號從字符串中拼接出來即可。然後將結果數組中的每個元素轉換爲一個int。這是它應該看起來像,

String numbers = "1,2,3"; 
String[] arr = numbers.split(","); 
int[] numArr = new int[arr.length]; 
for(int i = 0; i < numArr.length; i++){ 
    numArr[i] = Integer.parseInt(arr[i]); 
} 
0

你不需要二維數組,你可以使用簡單的數組。這將足以存儲這些數據。只需按','分割,然後遍歷該數組,解析int的所有內容並將分析後的值添加到新數組中。

String numbers = "1,2,3,4,5"; 
     String[] splitedArr= numbers.split(","); 
     int[] arr = new int[splitedArr.length]; 
     for(int i = 0; i < splitedArr.length; i++) { 
      arr[i] = Integer.parseInt(splitedArr[i]); 
     } 
     System.out.println(Arrays.toString(arr)); 
0
String s = "1,2,3"; 

    StringTokenizer st = new StringTokenizer(s,","); 
    int[][] array = new int [0][]; 
    int i = 0; 
    while(st.hasMoreElements()) { 
     int n = Integer.parseInt((String) st.nextElement()); 
     array[0][i] = n; 
     i++; 
    } 

這是快兩倍,String.split()

0
array[0] = Arrays.stream(numbers.split(",")) 
     .mapToInt(Integer::parseInt) 
     .toArray(); 
+0

這需要jdk 8 – Rao

+0

儘管此代碼可能會回答問題,但提供有關* how *和/或* why *解決問題的其他上下文會提高答案的長期價值。 - [來自評論](http://stackoverflow.com/review/low-quality-posts/13312634) –

相關問題