如何從整數陣列中找到最大和最小數

jdon發表於2019-01-24

對於任何軟體開發人員來說,很好地理解陣列資料結構都是非常重要的,為了發展這種理解,初學者可以做很多程式設計練習。其中之一是編寫一個程式來查詢整數陣列中最小和最大的數字。Java程式設計師與其他程式設計師沒有什麼不同,因此他們可以用Java來完成這個程式,而不僅僅是為了理解陣列,而且也可以使用Java中的關係運算子。在這個程式中,您需要編寫一個方法,是的,我們呼叫函式Java中的一個方法,它將接受整數陣列,然後從該陣列中列印最大和最小的數字。不允許使用任何第三方庫或API方法,這意味著您需要使用Java程式語言的基本工具來完成此練習,該工具包括運算子,控制語句,關鍵字和java.lang包中的一些類。

這個問題也被稱為在陣列中查詢最大值和最小值,這裡提到的技術也可以用在任何其他程式語言中。另外,您還可以編寫JUnit測試用例來測試您的方法,我還沒有這樣做,依靠簡單的主要方法來測試我的程式碼以顯示輸出並保持簡短,這對於任何示例或演示都是必不可少的。

求整數陣列中最小和最大數的Java程式

這裡是Java程式的完整程式碼示例,用於從整數陣列中找到最小和最大數。您可以建立一個名為MaimuMimuMulaRayDeMo.java的Java原始檔,並在其中複製程式碼,在您最喜歡的IDE中編譯和執行。如果您沒有IDE安裝程式,您還可以透過在Java中的HeloRoWord上顯示的步驟編譯和執行這個程式。

如果您檢視這裡的程式碼,我們已經建立了一個名為largesandwritest(intnumbers)的方法來列印傳遞給程式的int陣列中的最大和最小數字。我們使用最大和最小兩個變數來儲存陣列中的最大值和最小值。最初使用Integer.MIN_VALUE初始化最大值,使用Integer.MAX_VALUE初始化最小值。

在迴圈的每個迭代中,我們將當前數字與最大值和最小值進行比較,並相應地更新它們。因為如果一個數字大於最大值,它不能小於最小值,這意味著您不需要檢查第一個條件是否為真,這就是為什麼我們使用if else程式碼塊,而其他部分只在第一個條件不為真時執行。


用Java程式查詢陣列中最大和最小的元素:

import java.util.Arrays;
/**
 * Java program to find largest and smallest number from an array in Java.
 * You cannot use any library method both from Java and third-party library.
 *
 * @[author]author[/author] http://java67.blogspot.com
 */
public class MaximumMinimumArrayDemo{

    public static void main(String args) {
        largestAndSmallest(new int{-20, 34, 21, -87, 92,
                             Integer.MAX_VALUE});
        largestAndSmallest(new int{10, Integer.MIN_VALUE, -2});
        largestAndSmallest(new int{Integer.MAX_VALUE, 40,
                             Integer.MAX_VALUE});
        largestAndSmallest(new int{1, -1, 0});
    }

    public static void largestAndSmallest(int numbers) {
        int largest = Integer.MIN_VALUE;
        int smallest = Integer.MAX_VALUE;
        for (int number : numbers) {
            if (number > largest) {
                largest = number;
            } else if (number < smallest) {
                smallest = number;
            }
        }

        System.out.println("Given integer array : " + Arrays.toString(numbers));
        System.out.println("Largest number in array is : " + largest);
        System.out.println("Smallest number in array is : " + smallest);
    }
}

Output:

Given integer array : [-20, 34, 21, -87, 92, 2147483647]
Largest number in array is : 2147483647
Smallest number in array is : -87
Given integer array : [10, -2147483648, -2]
Largest number in array is : 10
Smallest number in array is : -2147483648
Given integer array : [2147483647, 40, 2147483647]
Largest number in array is : 2147483647
Smallest number in array is : 40
Given integer array : [1, -1, 0]
Largest number in array is : 1
Smallest number in array is : -1


這就是如何在Java中從整數陣列中找到最大和最小數的問題。順便說一句,有更多的方法來完成相同的任務。你能寫一個不同的解決方案嗎?去試一試吧。

相關文章