用java编写给定一个初始为空的栈和一系列压栈、弹栈操作,请编写程序输出每次弹栈的元素。栈的元素值均为整数。 输入格式: 输入第1行为1个正整数n,表示操作个数;接下来n行,每行表示一个操作,格式为1 d或0。1 d表示将整数d压栈,0表示弹栈。n不超过20000。
时间: 2023-11-04 08:15:59 浏览: 96
好的,以下是Java的代码示例:
```java
import java.util.Scanner;
import java.util.Stack;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
Stack<Integer> stack = new Stack<>();
for (int i = 0; i < n; i++) {
int op = scanner.nextInt();
if (op == 1) {
int d = scanner.nextInt();
stack.push(d);
} else if (op == 0) {
if (stack.isEmpty()) {
System.out.println("栈已空");
} else {
System.out.println(stack.pop());
}
}
}
}
}
```
这个程序会先读取一个整数n,表示操作个数,然后依次读取n行输入,每行输入为一个操作,格式为1 d或0。1 d表示将整数d压栈,0表示弹栈。程序会将每次弹栈的元素输出。如果栈已空,程序会输出“栈已空”。
阅读全文