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;
}
}