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 次瀏覽

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.