2017-03-16 76 views
-5

我有一個包含數字的字符串,我想把這個數字放在一個int數組中。如何將字符串複製到int數組中? (Java)

格式是這樣的:

String s = "234, 1, 23, 345"; 

int[] values; 

我想要什麼:

values[0]=234 

values[1]=1 

values[2]=23 

values[3]=345 
+1

你嘗試過這麼遠嗎? – f1sh

+0

http://stackoverflow.com/questions/3481828/how-to-split-a-string-in-java閱讀並嘗試自己 – Pons

+3

第一步:[將字符串拆分成數組。](http:// stackoverflow的.com/q /1828486分之3481828)。步驟2:[解析字符串並移動到新的數組。](http://stackoverflow.com/q/5585779/1828486) –

回答

0

考慮使用一個字符串實用

String[] strings= s.split(","); 

,然後遍歷字符串,並使用像這樣把它們添加到int數組

for(int i = 0; i < strings.size(); i++){ 
    values [i] = Integer.parseInt(strings[i]); 
} 
0

使用Java8:

String s = "234, 1, 23, 345"; 
String array[] = s.split(", "); 
Stream.of(array).mapToInt(Integer::parseInt).toArray(); 
+0

@MageXy它會打印正確的輸出 –

+0

現在你會編輯它。 :) –

2

可以split用逗號通過令牌字符串,iterate和通過將每個標記轉換爲integer將它們添加到另一個陣列中如:

public static void main(String[] args){ 
    String s = "234, 1, 23, 345"; 
    String[] tokens = s.split(","); 
    int[] numbers = new int[tokens.length]; 
    for(int i=0 ; i<tokens.length ; i++){ 
     numbers[i] = Integer.parseInt(tokens[i].trim()); 
    } 
} 
0

嘗試拆分字符串

String s = "234, 1, 23, 345"; 
String array[] = s.split(", "); 
int a[] = new int[array.length]; 
for(int i=0;i<a.length;i++) 
    a[i] = Integer.parseInt(array[i]); 
0

你應該拆分,for循環,並解析爲int

String s = "234, 1, 23, 345"; 
String[] splittedS = s.split(", "); 
int[] values = new int[splittedS.length]; 

for (int i = 0; i < splittedS.length; i++) { 
    values[i] = Integer.parseInt(splittedS[i]); 
} 
System.out.println(Arrays.toString(values)); 

,如果你能夠使用流java8

String[] inputStringArray = s.split(", "); 
Integer[] convertedREsult = Arrays.stream(inputStringArray).map(Integer::parseInt).toArray(Integer[]::new); 
System.out.println(Arrays.toString(convertedREsult)); 
相關問題