java判断算数表达式是否正确
时间: 2023-07-08 20:51:41 浏览: 48
Java中可以使用栈来判断算数表达式是否正确。具体方法如下:
1. 创建一个栈来存储操作符;
2. 遍历算数表达式中的每一个字符,如果遇到数字则直接跳过;
3. 如果遇到左括号,则将其入栈;
4. 如果遇到右括号,则弹出栈顶元素,如果栈为空或者栈顶元素不是左括号,则表达式不正确;
5. 如果遇到操作符,则将其入栈;
6. 遍历结束后,如果栈为空,则表达式正确,否则表达式不正确。
下面是一个示例代码:
```java
import java.util.Stack;
public class ArithmeticExpressionChecker {
public static boolean check(String expression) {
Stack<Character> stack = new Stack<>();
for (int i = 0; i < expression.length(); i++) {
char c = expression.charAt(i);
if (Character.isDigit(c)) {
continue;
} else if (c == '(') {
stack.push(c);
} else if (c == ')') {
if (stack.isEmpty() || stack.pop() != '(') {
return false;
}
} else if (isOperator(c)) {
stack.push(c);
}
}
return stack.isEmpty();
}
private static boolean isOperator(char c) {
return c == '+' || c == '-' || c == '*' || c == '/';
}
}
```
你可以将算数表达式作为参数传入 `check` 方法,如果返回值为 `true`,则表明表达式正确,否则表达式不正确。