เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

Edge case: ค่าสูงสุดในอาร์เรย์

โจทย์โปรแกรมมิ่งที่พบบ่อยอีกประเภทหนึ่งคือการเรียงลำดับหรือหาค่าสูงสุดในอาร์เรย์ ตัวอย่างนี้แสดงเวอร์ชันที่ง่ายที่สุด พร้อมกับวิธีแก้ปัญหาเบื้องต้น อย่างไรก็ตาม วิธีแก้ปัญหานี้ยังไม่สมบูรณ์ เนื่องจากไม่ได้รองรับ edge case สำคัญ นั่นคืออาร์เรย์ว่าง ซึ่งจะทำให้เกิด exception ขึ้น

รันโค้ดเพื่อดู RuntimeException ที่ถูกเรียกใช้งาน

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การทดสอบใน Java เบื้องต้น

ดูคอร์ส

คำแนะนำการฝึกหัด

  • คลิก "รันโค้ด" เพื่อให้เกิด ArrayIndexOutOfBoundsException จากนั้นส่งคำตอบ

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

public class MaxValue {

    public static void main(String[] arguments) {
    	// Enter the array elements that cause an ArrayIndexOutOfBoundsException
        System.out.println(findMax(new int[]{}));
    }

    public static int findMax(int[] numbers) {
        int max = numbers[0];
        for (int num: numbers) {
            if (num > max) {
                max = num;
            }
        }
        return max;
    }
}
แก้ไขและรันโค้ด