哥们,学会查看API很重要。你看下面说的,字符串中的字符必须是十进制数字才能返回得到整数值,你的byte数组能转换成字符串,可以这个字符串里面不一定全部都是数字吧,因此你的字符串变量根部不能使用parseInt(String s)这个方法。你可以尝试下这样来检测下是否还会报错。
import java.io.IOException;
public class Demo
{
public static void main(String args[]) throws IOException
{
byte b[] ={1,2,3,4,5,6};
// System.in.read(b);
String a = "12345" ; //new String(b);
int c;
c = Integer.parseInt(a);
System.out.println(c);
// for (int i = 0;i<b.length ;i++ )
// {
// System.out.println(b[i]);
// }
// System.out.println(a);
}
}
下面是API文档上的信息,你看看!
parseInt
public static int parseInt(String s)
throws NumberFormatException:将字符串参数作为有符号的十进制整数进行解析。除了第一个字符可以是用来表示负值的 ASCII 减号 '-' ('\u002D') 外,字符串中的字符都必须是十进制数字。返回得到的整数值,就好像将该参数和基数 10 作为参数赋予 parseInt(java.lang.String, int) 方法一样。
温馨提示:答案为网友推荐,仅供参考