2013-11-26 188 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是不可读的字符串,现在你应该知道你错过了''“。