java编写一个方法,该方法将具有算术表达式的字符串作为参数,其形式为 ,其中 符号是加法或减法运算,操作数是整数。如果操作数不是数值,则程序不应失败。 为此,您需要编写一个将捕获非数字值的异常处理程序。程序应向控制台显示有关错误类型的操作的消息。операнд знак операнд знак ... знак операнд 使用例外。NumberFormatException
时间: 2024-02-19 10:58:35 浏览: 27
好的,我可以为您提供一个Java方法来实现此功能。代码如下:
```java
public static int calculate(String expression) {
String[] tokens = expression.split("\\s+");
int result = 0;
int num = 0;
char operator = '+';
for (String token : tokens) {
try {
num = Integer.parseInt(token);
switch (operator) {
case '+':
result += num;
break;
case '-':
result -= num;
break;
}
} catch (NumberFormatException e) {
System.out.println("Error: " + token + " is not a number.");
}
if (token.length() == 1 && "+-".indexOf(token.charAt(0)) != -1) {
operator = token.charAt(0);
}
}
return result;
}
```
这个方法将算术表达式作为参数,并返回计算结果。它使用一个字符串数组来分割表达式,然后循环每个标记来计算结果。如果标记不是数字,则会抛出一个NumberFormatException异常,并在控制台上显示一个错误消息。操作符由一个字符变量存储,并在每次迭代中更新。
相关推荐
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)