Autoboxing และ foreach
ในแบบฝึกหัดนี้ จะได้สำรวจ autoboxing และการวนซ้ำผ่าน List โดยเฉพาะ LinkedList ของราคาสินค้า จะเพิ่มค่า double บางค่าลงใน LinkedList โดยให้ autoboxing แปลงค่าเหล่านั้นเป็น Double โดยอัตโนมัติ จากนั้นใช้ลูป "foreach" เพื่อคำนวณราคาเฉลี่ยของสินค้าใน LinkedList ที่เตรียมไว้ให้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
ชนิดข้อมูลและการจัดการข้อยกเว้นใน Java
คำแนะนำการฝึกหัด
- สร้าง
LinkedListของDoubleใหม่ และกำหนดให้กับตัวแปรprices - เพิ่มราคาใหม่ (ค่า
double)9.65ที่ท้ายลิสต์pricesโดย autoboxing จะแปลงdoubleเป็นDoubleให้อัตโนมัติก่อนเพิ่มเข้าไป - เพิ่มราคาใหม่ (ค่า
double)1.35ที่ต้นลิสต์pricesโดย autoboxing จะแปลงdoubleเป็นDoubleให้อัตโนมัติก่อนเพิ่มเข้าไป - ใช้ลูป "foreach" เพื่อวนซ้ำและรวมราคาทั้งหมด
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
public class Averaging {
public static void main(String[] args) {
// Create a LinkList of Doubles using parameterized constructor
____<____> prices = ____ ____<____>();
prices.add(5.60);
// Add 9.65 to the end of the list
prices.____(____);
prices.add(3.40);
// Add 1.35 to the start of the list
prices.____(____);
System.out.println(prices);
Double total = 0.0;
// Use for each to loop through all the prices
____ (____ price : ____) {
total += price;
}
System.out.println("Average price: " + total/prices.size());
}
}