Programming Basics SQL HTML CSS JavaScript React Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Linux Learn Typing

تحديات برمجيةالتحدي السادس - حل التمرين الثاني بلغة جافا

المطلوب

قم بتعريف دالة إسمها PrintSecondLowest, عند استدعاءها نمرر لها مصفوفة أحادية (ذات بعد واحد) فتقوم بطباعة ثاني أصغر عدد موجود فيها.
بعدها قم بإنشاء مصفوفة في البرنامج و تجربة استدعاء الدالة لمعرفة ثاني أصغر عدد موجود في المصفوفة.


الحل بلغة جافا

public class Main {
    
    // printSecondLowest() هنا قمنا بتعريف الدالة
    public static void printSecondLowest(int[] arr) {
        
        if (arr.length == 0)
        {
            System.out.println("Invalid params");
            return;
        }
        
        int secondLowest = arr[0];
        int temp;
        
        for (int i = 0; i < arr.length - 1; i++)
        {
            for (int j = i + 1; j < arr.length; j++)
            {
                if (arr[i] > arr[j])
                {
                    temp = arr[j];
                    arr[j] = arr[i];
                    arr[i] = temp;
                }
            }
        }
        
        for (int i = 0; i < arr.length; i++)
        {
            if (arr[i] != arr[0])
            {
                secondLowest = arr[i];
                break;
            }
        }
        
        if (secondLowest == arr[0])
        {
            System.out.println("There isn't a second lowest number");
            return;
        }
        
        System.out.println("Second lowest number is: " + secondLowest);
    
    }
    
    
    // printSecondLowest() هنا قمنا بإنشاء مصفوفة أرقام أحادية و تجربة الدالة
    public static void main(String[] args) {
        
        int[] arr = {5, 9, 3, 6, 4, 2, 7, 1, 8};
        
        printSecondLowest(arr);
        
    }

}

سنحصل على النتيجة التالية عند التشغيل في حال كانت المصفوفة تحتوي على نفس القيم المجهزة فيها.

Second lowest number is: 2