import java.lang.System;
import java.lang.NumberFormatException;
public class TestArgs {
public static void main(String[] args) {
if(args.length<3){
System.out.println(
"Usage: java Test \"n1\" \"op\" \"n2\"");
System.exit(-1);
}
try {
double d1 = Double.parseDouble(args[0]);
}catch(NumberFormatException e){
System.out.println("输入的不是数字");
}
try {
double d2 = Double.parseDouble(args[2]);
} catch(NumberFormatException e){
System.out.println("输入的不是数字");
}
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); [code=Java]
}
System.out.println(d);
}
}
[/code]
为什么编译通不过而这个可以通过
import java.lang.System;
import java.lang.NumberFormatException;
public class TestArgs {
public static void main(String[] args) {
if(args.length<3){
System.out.println(
"Usage: java Test \"n1\" \"op\" \"n2\"");
System.exit(-1);
}
try {
double d1 = Double.parseDouble(args[0]);
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 operator!");
System.exit(-1);
}
System.out.println(d);
} catch(NumberFormatException e){
System.out.println("输入的不是数字");
}
}
}
这是什么原因 ,try catch到底如何在在合理的程序块
import java.lang.NumberFormatException;
public class TestArgs {
public static void main(String[] args) {
if(args.length<3){
System.out.println(
"Usage: java Test \"n1\" \"op\" \"n2\"");
System.exit(-1);
}
try {
double d1 = Double.parseDouble(args[0]);
}catch(NumberFormatException e){
System.out.println("输入的不是数字");
}
try {
double d2 = Double.parseDouble(args[2]);
} catch(NumberFormatException e){
System.out.println("输入的不是数字");
}
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); [code=Java]
}
System.out.println(d);
}
}
[/code]
为什么编译通不过而这个可以通过
import java.lang.System;
import java.lang.NumberFormatException;
public class TestArgs {
public static void main(String[] args) {
if(args.length<3){
System.out.println(
"Usage: java Test \"n1\" \"op\" \"n2\"");
System.exit(-1);
}
try {
double d1 = Double.parseDouble(args[0]);
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 operator!");
System.exit(-1);
}
System.out.println(d);
} catch(NumberFormatException e){
System.out.println("输入的不是数字");
}
}
}
这是什么原因 ,try catch到底如何在在合理的程序块
区别就是那个 { } 大括号, 你仔细看看
JAVA资料太多?选中想收藏的文字(图片),右键选“收录到易载”,搞定!
double d1 = Double.parseDouble(args[0]);
double d2 = Double.parseDouble(args[2]);
double d = 0;
定义放在try{}catch()里面,否则就只能在try{}里调用变量d1,d2,d了