String arrInt[] 和 Integer.valueOf(arrInt[0])

String arrInt[] = new Scanner(System.in).nextLine().split(" ");
int a = Integer.valueOf(arrInt[0]), b = Integer.valueOf(arrInt[1]);
System.out.println(a+b);
能运算出结果,
为什么
String arrDouble[] = new Scanner(System.in).nextLine().split(" ");
double a = Integer.valueOf(arrDouble[0]), b = Integer.valueOf(arrDouble[1]);
System.out.println(a+b);
能编译,运算结果却报错?

你第二种方法是不是传了带小数的数据,那就不能用Integer了,要用Double类

Integer只能转换整数的字符串,你使用小数就会出错