2013-02-09 99 views
-1

我嘗試將CharacterSequence直接轉換爲具有單個整數的整數數組。將CharSequence轉換爲IntegerArray

CharSequence nbr = "478"; 
int j; 
int[] testArray = new int[100]; 

for(j = 0; j <= nbr.length() - 1; j++) 
    testArray[j] = Character.getNumericValue(nbr.charAt(j)); 

System.out.println(testArray); 

代替所需的[4,7,8]控制檯還給類似的東西:

[[email protected] 

設置一個開關與該案件 '0', '1',.. 。,'8','9'和相應的分配沒有解決問題。

我希望你能幫助我!在此先感謝;)

回答

1

數組不會覆蓋toString方法。所以,當您嘗試打印任何陣,ObjecttoString方法被調用,你會得到由該方法返回的代表性,這是形式 - [email protected]

獲得所需要的表示,用Arrays.toString方法來打印陣列: -

System.out.println(Arrays.toString(testArray)); 

除此之外,你真的應該聲明的整數數組爲:

int[] testArray = new int[nbr.length()]; 

,而不是使用100大小。

+0

感謝。解決了這個問題。 – jns 2013-02-09 22:47:19

+0

@ user2057762。不客氣:) – 2013-02-09 22:48:42

0

嘗試用

CharSequence nbr = "478"; 
    int j; 
    int[] testArray = new int[100]; 

    for(j = 0; j <= nbr.length() - 1; j++) 
     testArray[j] = Character.getNumericValue(nbr.charAt(j)); 

    for(int i : testArray){ 
     System.out.println(i); 
    } 
+0

這將工作(有點......你會得到多個行,每個都有一個數字),但你應該使用提供的'Arrays.toString()'方法。 – 2013-02-09 22:47:41