Java实现输入表达式是否合法
时间: 2024-03-20 08:44:34 浏览: 23
可以使用栈来实现输入表达式是否合法的判断。
具体实现步骤如下:
1. 创建一个栈用来存储左括号。
2. 遍历表达式的每一个字符,如果当前字符是左括号,则将其压入栈中;如果当前字符是右括号,则从栈中弹出一个左括号,如果弹出的左括号不匹配当前右括号,则表达式不合法。
3. 遍历完表达式后,如果栈为空,则表达式合法;否则表达式不合法。
以下是Java代码实现:
```java
import java.util.*;
public class ExpressionValidator {
public static boolean isValid(String expression) {
Stack<Character> stack = new Stack<>();
for (char c : expression.toCharArray()) {
if (c == '(') {
stack.push(c);
} else if (c == ')') {
if (stack.isEmpty() || stack.pop() != '(') {
return false;
}
}
}
return stack.isEmpty();
}
public static void main(String[] args) {
String expression1 = "(1+2)*3";
String expression2 = "(1+2)*3)";
System.out.println(isValid(expression1)); // true
System.out.println(isValid(expression2)); // false
}
}
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_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)