java编写一个方法,将带有算术表达式的字符串作为参数,形式为операнд знак операнд знак ... знак операнд,其中符号是加法或减法运算,操作数是整数。如果操作数不是数值,则程序不应因错误而失败。为此,您需要编写一个异常处理程序来捕获非数字值。该程序应该向控制台打印一条关于错误类型操作数的消息。 使用异常NumberFormatException。 程序运行示例: 输入表达式:4 + 5 答案:4 + 5 = 9 程序运行示例: 输入表达式:4 - 5 答案:4 - 5 = -1 程序运行示例: 输入表达式:4x - 5 无效输入:4x
时间: 2024-03-03 09:51:45 浏览: 143
好的,下面是 Java 代码实现:
```java
public static void evaluateExpression(String expression) {
String[] tokens = expression.split(" ");
int result = 0;
try {
result = Integer.parseInt(tokens[0]);
for (int i = 1; i < tokens.length; i += 2) {
String operator = tokens[i];
int operand = Integer.parseInt(tokens[i + 1]);
if (operator.equals("+")) {
result += operand;
} else if (operator.equals("-")) {
result -= operand;
} else {
throw new NumberFormatException();
}
}
System.out.println(expression + " = " + result);
} catch (NumberFormatException e) {
System.out.println("无效输入:" + expression);
}
}
```
这个方法将输入的表达式字符串按空格分割成字符串数组。然后它遍历该数组,每隔一个元素进行一次运算操作,根据运算符选择加法或减法运算,并将结果保存在变量 `result` 中。如果遇到无效的运算符或操作数,它将抛出 `NumberFormatException` 异常。在 `catch` 块中,它将输出一条错误消息,提示无效输入。如果一切正常,它将输出整个表达式和计算结果。
你可以通过调用该方法并传递表达式字符串来测试它的功能,例如:
```java
evaluateExpression("4 + 5"); // 输出:4 + 5 = 9
evaluateExpression("4 - 5"); // 输出:4 - 5 = -1
evaluateExpression("4x - 5"); // 输出:无效输入:4x - 5
```
阅读全文
相关推荐


















