麻烦大家给看一下这个程序问什么报错呀,谢谢

xhkbnkcu
麻烦大家给看一下这个程序问什么报错呀,谢谢

我是新手,麻烦大家给看一下。请问下面这个程序问什么编译时报错找不到d1和d2呀。先谢谢各位了。

public class TestA {
public static void main(String[] args) {
  if(args.length < 3) {
   System.out.println("Usage: java TestArgs /"n1/" /"op/" /"n2/"");
   System.exit(-1);
  }
  try {
   double d1 = Double.parseDouble(args[0]);
  } catch (NumberFormatException e) {
   e.printStackTrace();
  }
  try {
   double d2 = Double.parseDouble(args[2]);
  } catch (NumberFormatException e) {
   e.printStackTrace();
  }
  double d = 0;
  
  if(args[1].equals("+")) {
   d = d1 + d2;
  } else if (args[1].equals("-")) {
   d = d1 - d2;
  } else if (args[1].equals("x")) {
   d = d1 * d2;
  } else if (args[1].equals("/")) {
   d = d1 / d2;
  } else {
   System.out.println("Error operator!");
   System.exit(-1);
  }
  System.out.println(d);
}
}

Fan.Wu
回复 #1 xhkbnkcu 的帖子

:mrgreen: 因为你的 d1 和d2 都在 try {}里面,所以 d1 和d2 都必须声明为在try{}外面。。。。。。。。。。。。。。。!@

xhkbnkcu
哦,我明白了,谢谢你了,非常感谢。

waikontheroad
刚开始学,很容易犯错哦。