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

DrOfEng
DrOfEng

数学、科学和工程教育工作者

更新于:2024年10月25日

83 次浏览

启动你的职业生涯

完成课程获得认证

开始学习
广告