public static void main(String args[]) {
String str[] = new String[3];
Scanner input = new Scanner(System.in);
str[0] = input.next();
str[1] = input.next();
str[2] = input.next();
try {
int a, b;
a = Integer.parseInt(str[0]);
b = Integer.parseInt(str[2]);
if (str[1].equals("+")) {
System.out.println(a + " + " + b + " = " + (a + b));
} else if (str[1].equals("-")) {
System.out.println(a + " - " + b + " = " + (a - b));
} else if (str[1].equals("*")) {
System.out.println(a + " * " + b + " = " + (a * b));
} else if (str[1].equals("/")) {
System.out.println(a + " / " + b + " = " + (a / b));
} else {
System.err.println("输入符错误!!!");
}
} catch (NumberFormatException e) {
for (int i = 0; i < str.length; i++) {
if (str[0].charAt(i) >= '0' && str[0].charAt(i) <= '9') {
} else {
System.out.println("Wrong " + str[0]);
}
if (str[2].charAt(i) >= '0' && str[2].charAt(i) <= '9') {
} else {
System.out.println("Wrong " + str[2]);
}
}
}
}为什么这样子没法捕捉到异常,还是继续弹出错误信息呢?
String str[] = new String[3];
Scanner input = new Scanner(System.in);
str[0] = input.next();
str[1] = input.next();
str[2] = input.next();
try {
int a, b;
a = Integer.parseInt(str[0]);
b = Integer.parseInt(str[2]);
if (str[1].equals("+")) {
System.out.println(a + " + " + b + " = " + (a + b));
} else if (str[1].equals("-")) {
System.out.println(a + " - " + b + " = " + (a - b));
} else if (str[1].equals("*")) {
System.out.println(a + " * " + b + " = " + (a * b));
} else if (str[1].equals("/")) {
System.out.println(a + " / " + b + " = " + (a / b));
} else {
System.err.println("输入符错误!!!");
}
} catch (NumberFormatException e) {
for (int i = 0; i < str.length; i++) {
if (str[0].charAt(i) >= '0' && str[0].charAt(i) <= '9') {
} else {
System.out.println("Wrong " + str[0]);
}
if (str[2].charAt(i) >= '0' && str[2].charAt(i) <= '9') {
} else {
System.out.println("Wrong " + str[2]);
}
}
}
}为什么这样子没法捕捉到异常,还是继续弹出错误信息呢?
for (int i = 0; i < str[0].length(); i++) {
if (str[0].charAt(i) >= '0' && str[0].charAt(i) <= '9') {
} else {
System.out.println("Wrong " + str[0]);
}
}
for(int i=0;i<str[2].length();i++){
if (str[2].charAt(i) >= '0' && str[2].charAt(i) <= '9') {
} else {
System.out.println("Wrong " + str[2]);
}
}
}