永发信息网

try catch 里的变量和外面的有什么区别?

答案:2  悬赏:50  手机版
解决时间 2021-02-19 00:54
try catch 里的变量和外面的有什么区别?
最佳答案
变量的作用域不同。变量c在try{}块中定义他的作用就只在try{}可见,将变量的声明放在try外面,才在try{}外可用。
  例如,下面这段代码会出现编译错误,找不到变量c:
  public class ArgsTest {
  public static void main (String [] args) {
  if (args.length<3){
  System.out.println("Usage\"a\"op\"b\"");
  System.exit(-1);
  }
  try{
  double a = Double.parseDouble(args[0]);
  double b = Double.parseDouble(args[2]);
  double c = 0;
  if (args[1].equals("x")) c=a*b;
  else if (args[1].equals("/")) c=a/b;
  else if (args[1].equals("+")) c=a+b;
  else if (args[1].equals("-")) c=a-b;
  } catch (Exception e) {
  e.printStackTrace();
  }
  System.out.print(c);
  }
  }
  将上面的代码改动如下,就可以了:
  public class ArgsTest {
  public static void main (String [] args) {
  if (args.length<3){
  System.out.println("Usage\"a\"op\"b\"");
  System.exit(-1);
  }
  double c = 0;
  try{
  double a = Double.parseDouble(args[0]);
  double b = Double.parseDouble(args[2]);
  if (args[1].equals("x")) c=a*b;
  else if (args[1].equals("/")) c=a/b;
  else if (args[1].equals("+")) c=a+b;
  else if (args[1].equals("-")) c=a-b;
  } catch (Exception e) {
  e.printStackTrace();
  }
  System.out.print(c);
  }
  }
全部回答
变量的作用域问题。变量c在try{}块中定义他的作用就只在try{}可见,以后遇到这种情况可将变量的声明放在try外面
例如 可将上面的代码改成这样
public class ArgsTest {
public static void main (String [] args) {
if (args.length<3){
System.out.println("Usage\"a\"op\"b\"");
System.exit(-1);
}
double c = 0;
try{
double a = Double.parseDouble(args[0]);
double b = Double.parseDouble(args[2]);
if (args[1].equals("x")) c=a*b;
else if (args[1].equals("/")) c=a/b;
else if (args[1].equals("+")) c=a+b;
else if (args[1].equals("-")) c=a-b;
} catch (Exception e) {
e.printStackTrace();
}
System.out.print(c);
}
}
就可以了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
请问现在去河北雄安新区做生意怎么样,不知道
从播放音效上来说,网易云音乐和酷狗音乐哪个
为什么WIFI越用越卡,有时候都连不上去
求GCT数学9月最新模拟试题
长源饭店地址有知道的么?有点事想过去
形容微的成语大全
QQ影音无法下载歌词吗
X800/Y487(路口)在什么地方啊,我要过去处理
0,│φ│π0,│φ│π
求教华东师范大学积极心理学还招吗?
武汉地铁能用二十的人民币吗
宜昌市肿瘤医院-门诊部地址在什么地方,想过
问道怎么刷级快!
该图为公转轨道相邻的三大行星相对位置示意图
梦见蛇被自己打的半死后逃走。解梦!
推荐资讯
我在山西省晋商银行贷款遇到了一些问题,希望
萧山机场北区远程停车场在哪里啊,我有事要去
丽波度假村-洗手间地址有知道的么?有点事想
如果冬季风活动较弱会带来什么后果
四季鞋袜地址在什么地方,想过去办事
2016款广汽三菱劲1.6发动机是原装进口的吗?
关于日光灯的诗
1.3.2.6.4.12.( ).( ).16.48快.
企业战略管理的重要意义是什么?
彬内衣行地址在什么地方,想过去办事
质检员证书
爱亲母婴生活馆(凯旋路)地址有知道的么?有点
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?