首頁 >Java >java教程 >從Java中的堆棧返回均勻數字

從Java中的堆棧返回均勻數字

Barbara Streisand
Barbara Streisand原創
2025-02-07 12:07:15345瀏覽

Java中的棧

棧是一種後進先出 (LIFO) 的數據結構。如下所示,最後放入棧中的書是第一個被移除的,而第一個放入棧中的書是最後一個被移除的。

在Java中,可以通過導入java.util.Stack包並調用Stack()構造函數來創建一個整數棧。可以使用push()方法將整數對象壓入棧中。以下代碼片段提供了一個示例。

Returning even numbers from a stack in java

示例

以下是一個示例程序:

<code class="language-java">import java.util.Stack;
public class Testing {
   public static void main(String[] args) {
      Stack<integer> numbers = new Stack<>(); // 使用Integer,而不是integer
      numbers.push(12);
      numbers.push(1);
      numbers.push(3);
      numbers.push(15);
      numbers.push(4);
      System.out.println(numbers);
   }
}</integer></code>

以上程序的輸出如下:

<code>[12, 1, 3, 15, 4]</code>

從棧中返回偶數

可以使用get()pop()方法訪問Java中棧的元素。 peek()方法可以在不移除棧頂元素的情況下訪問它。我們可以使用pop()方法訪問棧中的整數,因為它更符合棧作為LIFO數據結構的功能。

Returning even numbers from a stack in java

示例

以下是一個從棧中檢索偶數的示例程序。在這個程序中:

  • 使用empty()方法在一個while循環中測試棧是否為空。
  • 如果棧不為空,則從棧頂彈出數字並將其存儲為整數。
  • 使用模運算符檢查數字是否為偶數。
  • 如果數字為偶數,則將其輸出到屏幕。
<code class="language-java">import java.util.Stack;

public class Example {
   public static void main(String[] args) {       
      Stack<integer> numbers = new Stack<>(); // 使用Integer,而不是integer
      numbers.push(12);
      numbers.push(1);
      numbers.push(3);
      numbers.push(15);
      numbers.push(4);
      System.out.println("栈的内容: " + numbers);
      System.out.println("栈中的偶数: ");
      while(!numbers.empty()) { // 更简洁的写法
         int number = numbers.pop();
         if(number % 2 == 0){
            System.out.println(number);
         }
      }
   }
}</integer></code>

以上程序的輸出如下:

<code>栈的内容: [12, 1, 3, 15, 4]
栈中的偶数: 
4
12</code>

改進之處:integer更正為Integer,因為Java中integer不是有效的類型,應該使用Integer包裝類。 同時對代碼註釋和語句進行了細微調整,使其更清晰易懂。

以上是從Java中的堆棧返回均勻數字的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn