java stack i i.top()
时间: 2023-11-28 09:48:53 浏览: 34
在Java中,Stack类表示后进先出(LIFO)堆栈数据结构。Stack类提供了许多方法来操作堆栈,其中包括i.top()方法。i.top()方法返回堆栈顶部的元素,但不会将其从堆栈中删除。如果堆栈为空,则i.top()方法将抛出一个EmptyStackException异常。以下是i.top()方法的示例代码:
```java
Stack<Integer> stack = new Stack<>();
stack.push(1);
stack.push(2);
stack.push(3);
System.out.println(stack.top()); // 输出3
```
相关问题
import java.util.Scanner; import java.util.Stack; public class Kuohao { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String str = sc.next(); check(str); } public static void check(String str) { Stack<Character> stack = new Stack<Character>(); //循环该数组下标,栈为空进栈 for (int i = 0; i < str.length(); i++) { char c = str.charAt(i); if (stack.isEmpty()) { stack.push(c); } else { //当前的栈顶 char top = stack.peek(); //通过ascll码判断 if (top-c == -1 || top - c == -2) { stack.pop(); } else { stack.push(c); } } } //当栈为空时说明括号完全匹配 if (stack.isEmpty()) { System.out.println("Yes"); } else { System.out.println("No"); } } }
这是一段 Java 代码,用于检查一个字符串中的括号是否匹配。这个程序首先会读入一个字符串,然后调用 `check` 方法来检查其中的括号。`check` 方法使用一个栈来存储括号,并循环遍历字符串中的每个字符。如果当前栈为空,则将该字符进栈。否则,将栈顶元素与当前字符进行比较,如果它们是一对括号,则弹出栈顶元素,否则将当前字符进栈。最终,如果栈为空,则说明括号匹配,否则不匹配。
java写出括号序列用stack的代码
下面是使用Java的Stack实现括号序列匹配的示例代码:
```java
import java.util.Stack;
public class BracketSequence {
public static boolean match(String s) {
Stack<Character> stack = new Stack<>();
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
if (c == '(' || c == '[' || c == '{') {
stack.push(c);
} else if (c == ')' || c == ']' || c == '}') {
if (stack.isEmpty()) {
return false;
}
char top = stack.pop();
if ((c == ')' && top != '(') || (c == ']' && top != '[') || (c == '}' && top != '{')) {
return false;
}
}
}
return stack.isEmpty();
}
public static void main(String[] args) {
String s1 = "([])(){}";
String s2 = "([)]";
String s3 = "{[]()}()";
System.out.println(s1 + " is " + (match(s1) ? "valid" : "invalid"));
System.out.println(s2 + " is " + (match(s2) ? "valid" : "invalid"));
System.out.println(s3 + " is " + (match(s3) ? "valid" : "invalid"));
}
}
```
运行结果:
```
([])(){} is valid
([)] is invalid
{[]()}() is valid
```