การเปลี่ยนข้อมูลเป็นชุด
ตอนนี้หากล่องที่ต้องการเปลี่ยนแล้ว แต่น่าเสียดายที่ลูป forEach ไม่รองรับการแก้ไขข้อมูลได้โดยตรง จึงต้องปรับโปรแกรมเล็กน้อยโดยเปลี่ยนไปใช้ลูป for แทน น้ำหนักของกระเป๋าใบใหม่คือ 198
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Java ระดับกลาง
คำแนะนำการฝึกหัด
- ระบุ ขีดจำกัด ที่ถูกต้องสำหรับตัวนับลูป
- ใส่ ดัชนี ที่ถูกต้องเพื่อเปลี่ยนค่าในลิสต์
weightsโดยโค้ดควรทำงานได้ถูกต้องแม้ตำแหน่งของ element จะเปลี่ยนไป
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
class WeightChanger {
public static void main(String[] args) {
int[] weights = {198, 190, 188, 187, 190, 198, 201, 250, 203, 210, 205, 170, 180, 200, 203, 210, 180};
// Write down the correct limit for the iterator
for (int i = 0; i < ____.____; i++) {
int weight = weights[i];
if (weight > 220) {
// Input the correct index to change the list. It should work even if the element changed location.
weights[____] = 198;
}
}
for (int weight : weights){
System.out.println(weight);
}
}
}