我是个新手,我很好奇,为什么当输入2E2作为double的值时,为什么此代码会输出201.0。
public static void main(String[] args) {
double r = 2E2;
try{
}
catch(InputMismatchException e) {
r=-1.0;
}
finally{
r++;
}
System.out.println(r);
}
输出:201.0
答案 0 :(得分:3)
通过输入E,您说的是2 * 10 ^ 2的幂。额外的1来自finally块,即使抛出错误,该块也总是执行。如果您要放置2E3,它将打印出2001.0!
答案 1 :(得分:0)
2E2(十进制表示法)是200。您的try catch块不包含任何代码,因此它永远不会到达异常块,并且finally块将2E2加1。因此,答案是2E2 + 0X1 = 0x2E3(201.0),这是正确的。最后,在打印时,它以十进制格式显示为201.0。