java编写一个方法,将一个字符串作为参数, 该字符串具有符号,操作数 形式的算术表达式, 其中符号是加法或减法运算,操作数是整数,输出运算结果。 如果操作数不是数值,则程序不应因错误而失败。 为此,您需要编写一个异常处理程序来捕获非数字值。 该程序应该向控制台打印一条关于错误类型操作数的消息,并且不再输出运算结果。 使用 NumberFormatException。
时间: 2024-01-21 19:16:47 浏览: 22
下面是一个示例方法,可以实现你所需要的功能:
```java
public static void calculateExpression(String expression) {
String[] parts = expression.split("\\s+");
int result = 0;
try {
result = Integer.parseInt(parts[0]);
for (int i = 1; i < parts.length; i += 2) {
String operator = parts[i];
int operand = Integer.parseInt(parts[i + 1]);
if (operator.equals("+")) {
result += operand;
} else if (operator.equals("-")) {
result -= operand;
} else {
System.out.println("Invalid operator: " + operator);
return;
}
}
System.out.println("Result: " + result);
} catch (NumberFormatException e) {
System.out.println("Invalid operand: " + e.getMessage());
}
}
```
该方法首先将输入字符串分割为操作数和运算符,然后使用 try-catch 块来捕获非数字值异常。如果发生异常,方法将打印一条错误消息并退出,否则它将计算表达式并输出结果。