Java 中从栈返回偶数
Java中的栈
栈是一种后进先出 (LIFO) 的数据结构。如下所示,最后放入栈中的书是第一个被移除的,而第一个放入栈中的书是最后一个被移除的。
在 Java 中,可以通过导入 **java.util.Stack** 包并调用 **Stack()** 构造函数来创建整数栈。可以使用 push() 方法将整数对象压入栈中。以下代码片段提供了一个示例。
示例
以下是一个示例程序:
import java.util.Stack; public class Testing { public static void main(String[] args) { Stack<Integer> numbers = new Stack<Integer>(); numbers.push(12); numbers.push(1); numbers.push(3); numbers.push(15); numbers.push(4); System.out.println(numbers); } }
以上程序的输出结果如下:
[12, 1, 3, 15, 4]
从栈中返回偶数
可以使用 **get()** 和 **pop()** 方法访问 Java 中栈的元素。peek() 方法可以访问栈顶的对象而无需将其移除。我们可以使用 pop() 方法访问栈中的整数,因为它更符合栈的功能,即作为 LIFO 数据结构。
示例
以下是一个从栈中检索偶数的示例程序。这里:
- empty() 方法用于在 while 循环中测试栈是否为空
- 如果栈不为空,则从栈顶弹出数字并将其存储为整数
- 模运算符用于检查数字是否为偶数
- 如果数字为偶数,则将其输出到屏幕
import java.util.Stack; public class Example { public static void main(String[] args) { Stack<Integer> numbers = new Stack<Integer>(); numbers.push(12); numbers.push(1); numbers.push(3); numbers.push(15); numbers.push(4); System.out.println("Contents of the Stack: " + numbers); System.out.println("Even Numbers in the Stack: "); while(!(numbers.empty())) { int number = numbers.pop(); if(number%2 == 0){ System.out.println(number); } } } }
以上程序的输出结果如下:
Contents of the Stack: [12, 1, 3, 15, 4] Even Numbers in the Stack: 4 12
广告