编写一个方法,该方法将具有算术表达式的字符串作为参数,其形式为 ,其中 符号是加法或减法运算,操作数是整数。如果操作数不是数值,则程序不应失败。 为此,您需要编写一个将捕获非数字值的异常处理程序。程序应向控制台显示有关错误类型的操作的消息。операнд знак операнд знак ... знак операнд 使用例外。NumberFormatException
时间: 2024-03-03 12:50:13 浏览: 71
好的,以下是一个参考代码实现:
```java
public static int evaluateExpression(String exp) {
String[] tokens = exp.split(" ");
int result = 0;
int curr = 0;
char operation = '+';
for (String token : tokens) {
try {
curr = Integer.parseInt(token);
switch (operation) {
case '+':
result += curr;
break;
case '-':
result -= curr;
break;
}
} catch (NumberFormatException e) {
System.out.println("Invalid input: " + token + " is not a number.");
}
if (token.length() == 1 && (token.charAt(0) == '+' || token.charAt(0) == '-')) {
operation = token.charAt(0);
}
}
return result;
}
```
该方法接受一个算术表达式字符串,将其分割成操作数和运算符,并使用 try-catch 块来捕获操作数不是数字的异常。如果遇到无效的输入,该方法会向控制台输出错误消息并继续计算表达式的其他部分。最后,该方法返回表达式的结果。
阅读全文