2013-11-26 118 views
1

所以我試圖的3個字符的數組轉換爲整數。以下是我迄今爲止:爪哇:轉換字符數組爲int

char[] characters = {0, 1, 2}; 
    int number = Integer.parseInt(new String(characters)); 
    System.out.println(number); 

然而這打印錯誤:

Exception in thread "main" java.lang.NumberFormatException: For input string: "�" 
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) 
    at java.lang.Integer.parseInt(Integer.java:481) 
    at java.lang.Integer.parseInt(Integer.java:527) 
    at usemyinteger.UseMyInteger.main(UseMyInteger.java:41) 

Java結果:1

回答

3
char[] characters = {0, 1, 2}; 

因爲現在0 1 2是整數文字,以作爲對於人物的。不是ASCII碼的實際字符'0' '1' '2'

應該是

char[] characters = {'0', '1', '2'}; 
+0

這將是問題。感謝您的幫助 – nfoggia

0

爲了您的好,請添加2行來打印tmp字符串,它會幫助您找到真正的問題。

char[] characters = {0, 1, 2}; 
String tmp=new String(characters); 
System.out.println("tmp = " + tmp); 
int number = Integer.parseInt(tmp); 
System.out.println(number); 

你會看到tmp是不可讀的字符串,現在你應該知道你錯過了''「。