为了账号安全,请及时绑定邮箱和手机立即绑定

请问下答案是什么呢?

请问下答案是什么呢?

米脂 2023-01-03 12:12:11

public class Test{
public static String output=" ";

public static void foo(int i){
try{
if(i==1){
throw new Exception();
}
output+="1";
}catch(Exception e){
output+="2";
return;
}finally
output+="3";
}
output+="4";
}

public static void main(String[] args){
foo(0);
foo(1);
System.out.println(Test.output);
}
}

查看完整描述

3 回答

?
慕妹3146593

TA贡献1575条经验 获得超9个赞

答案是: 134234 首先java代码运行后,main函数是入口, 先执行foo(0) 这句代码,
然后 try执行完,output="1",然后执行finally output="13" 接着 output="134" 然后执行foo(1),在try里面抛出异常 执行catch里面的语句 output="1342" try catch 语句中finally 肯定执行 所以output="13423"然后执行output+="4"; 所以output="134234" 最后输出

查看完整回答
反对 回复 2023-01-06
?
郎朗坤

TA贡献1678条经验 获得超9个赞

public class考试{
publicstatic字符串输出= ";”;;
public static void foo(I){
试试看。
如果(I= = 1){
把新的exception();
}
输出+ =“1”;;
} catch(异常){
输出+ =“2”;;
返回;
}最后
输出+ =“3”;;
}
输出+ =“4”;;
}
public static void main(字符串[ ] args){
Foo(0);
Foo(1);
System.out。println(测试。输出);
}
}


查看完整回答
反对 回复 2023-01-06
?
慕村9548890

TA贡献1643条经验 获得超4个赞

您好,提问者:  
因为output 是static,共享区域,是字符串类型,不会进行算数运算。
结果输出:134234

查看完整回答
反对 回复 2023-01-06

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信