تحديات برمجيةالتحدي السادس - حل التمرين الأول بلغة جافا
المطلوب
قم بتعريف دالة إسمها PrintSecondBiggest
, عند استدعاءها نمرر لها مصفوفة أحادية (ذات بعد واحد) فتقوم بطباعة ثاني أكبر عدد موجود فيها.
بعدها قم بإنشاء مصفوفة في البرنامج و تجربة استدعاء الدالة لمعرفة ثاني أكبر عدد موجود في المصفوفة.
الحل بلغة جافا
public class Main { // printSecondBiggest() هنا قمنا بتعريف الدالة public static void printSecondBiggest(int[] arr) { if (arr.length == 0) { System.out.println("Invalid params"); return; } int secondBiggest = 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 = arr.length - 1; i >= 0; i--) { if (arr[i] != arr[arr.length - 1]) { secondBiggest = arr[i]; break; } } if (secondBiggest == arr[0]) { System.out.println("There isn't a second biggest number"); return; } System.out.println("Second biggest number is: " + secondBiggest); } // printSecondBiggest() هنا قمنا بإنشاء مصفوفة أرقام أحادية و تجربة الدالة public static void main(String[] args) { int[] arr = {5, 9, 3, 6, 4, 2, 7, 1, 8}; printSecondBiggest(arr); } }
سنحصل على النتيجة التالية عند التشغيل في حال كانت المصفوفة تحتوي على نفس القيم المجهزة فيها.
Second biggest number is: 8