java小程序出错,加try catch以后就编译出错,希望高手指点!到底是哪里有问题呢?
publicclassSuanshu{publicstaticvoidmain(String[]args){if(args.length<3){System.out.pr...
public class Suanshu {
public static void main(String [] args){
if(args.length<3){
System.out.println("请输入");
System.exit(-1);
}
try{
double d1 = Double.parseDouble(args [0]);
}catch (NumberFormatException a){
System.out.println("输入错误,请输入数字");
}finally {System.out.println("出错了");}
double d2 = Double.parseDouble(args [2]);
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");
}
System.out.println(d);
}
} 展开
public static void main(String [] args){
if(args.length<3){
System.out.println("请输入");
System.exit(-1);
}
try{
double d1 = Double.parseDouble(args [0]);
}catch (NumberFormatException a){
System.out.println("输入错误,请输入数字");
}finally {System.out.println("出错了");}
double d2 = Double.parseDouble(args [2]);
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");
}
System.out.println(d);
}
} 展开
2个回答
展开全部
double d2 = Double.parseDouble(args [2]);也要放在try里,也有可能出现转换异常的。
追问
好像不是这个问题,刚才试过了,全放进去也出错的!系统好像找不到d1 d2变量了。
追答
当然了,出现异常后d1 d2都是没有定义,后边就不能用的。把声明和赋值分开就好了。
比如
double d1=0;
double d2=0;
try{
d1 = Double.parseDouble(args [0]);
d2 = Double.parseDouble(args [2]);
}catch (NumberFormatException a){
System.out.println("输入错误,请输入数字");
}
不要finally {System.out.println("出错了");}
finally内是出不出现异常都执行的。
展开全部
public class Suanshu {
public static void main(String [] args){
if(args.length<3){
System.out.println("请输入");
System.exit(-1);
}
double d1 = 0; //定义外部变量;
double d2 = 0;//定义外部变量;
try{
d1 = Double.parseDouble(args [0]);
}catch (NumberFormatException a){
System.out.println("输入错误,请输入数字");
}finally {System.out.println("出错了");}
d2 = Double.parseDouble(args [2]);
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");
}
System.out.println(d);
}
}
public static void main(String [] args){
if(args.length<3){
System.out.println("请输入");
System.exit(-1);
}
double d1 = 0; //定义外部变量;
double d2 = 0;//定义外部变量;
try{
d1 = Double.parseDouble(args [0]);
}catch (NumberFormatException a){
System.out.println("输入错误,请输入数字");
}finally {System.out.println("出错了");}
d2 = Double.parseDouble(args [2]);
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");
}
System.out.println(d);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询