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

请问下答案是什么呢?

请问下答案是什么呢?

米脂 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;}finallyoutput+="3";}output+="4";}public static void main(String[] args){foo(0);foo(1);System.out.println(Test.output);}}
查看完整描述

3 回答

?
慕妹3146593

TA贡献1820条经验 获得超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贡献1921条经验 获得超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贡献1884条经验 获得超4个赞

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

查看完整回答
反对 回复 2023-01-06
  • 3 回答
  • 0 关注
  • 81 浏览

添加回答

举报

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