2015-01-08 72 views

回答

1

我會做它是這樣的:

int[] digits = new int[s.length()]; 
for (int i = 0; i < digits.length; ++i) { 
    digits[i] = s.charAt(i)-'0'; 
} 

我永遠無法把自己帶到你身邊se Integer.parseInt(String)只是將數字字符轉換爲整數。

+0

謝謝,你能告訴我'-'0''的用途嗎? – AndreaF

+0

@AndreaF數字字符是連續的。例如,字符「5''位於字符」0「的上方五個位置。所以從字符「5''中減去」0「就會得到數字」5「,這就是你想要存儲的數字。這就是如何將數字字符轉換爲該數字的整數值。 – khelwood

0

一種選擇是

char[] nums = s.toCharArray(); 
int[] parsed = new int[nums.length]; 
for (int i = 0; i < nums.length; ++i){ 
    parsed[i] = Integer.parseInt(String.valueOf(nums[i])); 
} 
+0

@SotiriosDelimanolis是的,我猜測,而不必迴轉換爲字符串存在該方法的您的情況的背景。我錯了......我認爲拆分方法更有效率。我沒有意識到你什麼都不能分裂。 –

+0

謝謝,很好的解決方案...並使用Tokenizer或正則表達式? – AndreaF

1

您可以使用Stringsplit方法將其轉換爲一個String[],然後你可以遍歷它調用Integer.parseInt來填充int[]

0

我將爲此提供最可能的簡單解決方案;

String s = "1956"; 
     int array[] = new int[4]; 

     array[0] = Integer.parseInt(s.charAt(0)+""); 
     array[1] = Integer.parseInt(s.charAt(1)+""); 
     array[2] = Integer.parseInt(s.charAt(2)+""); 
     array[3] = Integer.parseInt(s.charAt(3)+""); 

顯然環能做到這一點,但你真的沒有告訴我們

相關問題