问题 单项选择题

下列代码的执行结果是______。
public class Test
public static void main(String[]args)
int[]x=0, 1, 2, 3;
for(int i=0;i<3;i+=2)
try
System.out println(x[i+23/x[i]+x[i+1]);
catch(ArithmeticException e)
System.out.println("error1");
catch (Exception e)
System.out.println("error2");



A.error1

B.error2

C.error1

D.2
error2error2

答案

参考答案:C

解析: 该题考查Java算术异常和数组越界异常。在循环开始时i=0,此时计算x[i+2]/x[i]+x[i+1]=x[2]/x[0]+x[1]=2/0+1,显然分母为零,抛出算术异常ArithmeticException,执行System.out.p rintln("error1")语句,打印出"error1"。第二次循环时,i=2,此时计算x[i+2]时得到x[4],超出数组边界,因此抛出异常IndexOut(OfBoundsException,该异常是Exception的子类,被捕获,打印出"error2"。因此选C。

单项选择题
问答题 简答题