2014-03-14 117 views
0

說我正在使用此代碼將一個字符串(包含數字)轉換爲一個字符數組,我想要轉換爲一個數字(int)數組。如何將char數組轉換爲int數組?

(然後我想換號的另一個字符串做到這一點,並添加兩個int數組給自己添加另一個int數組。)

我該怎麼辦?

import java.util.Scanner; 


public class stringHundredDigitArray { 

    /** 
    * @param args 
    */ 
    public static void main(String[] args) { 
     Scanner in = new Scanner(System.in); 
     System.out.print("Enter the number: "); 
     String num1 = in.nextLine(); 
     char[] num1CharArray = num1.toCharArray(); 
     //for (int i = 0; i < num1CharArray.length; i++){ 
      //System.out.print(" "+num1CharArray[i]); 
     //} 

     int[] num1intarray = new int[num1CharArray.length]; 
     for (int i = 0; i < num1CharArray.length; i++){ 
      num1intarray[i] = num1CharArray[i]; 
     } 

     for (int i = 0; i < num1intarray.length; i++){ //this code prints presumably the ascii values of the number characters, not the numbers themselves. This is the problem. 
      System.out.print(" "+num1intarray[i]); 
     } 
    } 

} 

我真的必須拆分字符串,最好是可增加數據類型的數組。

+1

可能重複的[char數組爲int陣列(http://stackoverflow.com/questions/10886068/char-array-to-int-array) –

回答

2

嘗試Character.getNumericValue(char);此:

for (int i = 0; i < num1CharArray.length; i++){ 
    num1intarray[i] = Character.getNumericValue(num1CharArray[i]); 
} 
+0

另一種方法是減去「0」,但這個效果很好。 – Obicere

1
Try This : 
    int[] num1intarray = new int[num1CharArray.length]; 
    for (int i = 0; i < num1CharArray.length; i++) 
     { 
     num1intarray[i]=Integer.parseInt(""+num1CharArray[i]); 
     System.out.print(num1intarray[i]); 
     }