1. ตัวอย่างที่เป็นประโยชน์ของการทำงานกับอาร์เรย์:
ฉันคิดว่าถึงเวลาแล้วที่จะต้องย้ายไปปฏิบัติภารกิจบางอย่าง เราจะเริ่มด้วยวิธีที่ง่ายที่สุด:
เติมอาร์เรย์ 10 ตัวเลขด้วยตัวเลขตั้งแต่ 0 ถึง 9: |
int[] array = new int[10];
for (int i = 0; i < 10; i++) {
array[i] = i;
}
|
- สร้างวัตถุอาร์เรย์ 10 องค์ประกอบ
- วนซ้ำตั้งแต่ 0 ถึง 9 (รวม)
- กำหนดค่าตั้งแต่ 0 ถึง 9 ให้กับเซลล์
|
เติมอาร์เรย์ 10 ตัวเลขด้วยตัวเลขตั้งแต่ 1 ถึง 10: |
int[] array = new int[10];
for (int i = 0; i < 10; i++) {
array[i] = i + 1;
}
|
- สร้างวัตถุอาร์เรย์ 10 องค์ประกอบ
- วนซ้ำตั้งแต่ 0 ถึง 9 (รวม)
- กำหนดค่าตั้งแต่ 1 ถึง 10 ให้กับเซลล์
|
เติมอาร์เรย์ 10 ตัวเลขด้วยตัวเลขตั้งแต่ 10 ถึง 1: |
int[] array = new int[10];
for (int i = 0; i < 10; i++) {
array[i] = 10 - i;
}
|
- สร้างวัตถุอาร์เรย์ 10 องค์ประกอบ
- วนซ้ำตั้งแต่ 0 ถึง 9 (รวม)
- กำหนดค่าจาก 10 ถึง 1 ให้กับเซลล์
|
2. การแสดงตัวเลขในลำดับย้อนกลับ
ตอนนี้เรามาดูตัวอย่างที่ซับซ้อนและน่าสนใจมากขึ้น เราจะเริ่มต้นด้วยงานต่อไปนี้: อ่านตัวเลข 10 ตัวจากแป้นพิมพ์และแสดงในลำดับย้อนกลับ
เรารู้วิธีการอ่านตัวเลขจากแป้นพิมพ์ แต่เราอ่านเลข 10 ได้อย่างไร? แน่นอน เราสามารถสร้างตัวแปรได้ 10 ตัว: a1
, a2
, ฯลฯ แต่นั่นจะไม่สะดวกอย่างยิ่ง แล้วถ้าเราต้องอ่านเป็นตัวเลข 100 ตัวล่ะ? เราจะสร้าง 100 ตัวแปรหรือไม่? เราเพิ่งเรียนรู้เกี่ยวกับอาร์เรย์ซึ่งสร้างขึ้นเพื่อเก็บค่าจำนวนมาก
โค้ดสำหรับการอ่านค่า 10 ค่าจะมีลักษณะดังนี้ (ส่วนย่อยนี้จะปรากฏในเมธอดmain
):
Scanner console = new Scanner(System.in);
int[] array = new int[10];
for (int i = 0; i < 10; i++) {
array[i] = console.nextInt();
}
|
- สร้าง
Scanner วัตถุ
- สร้างวัตถุอาร์เรย์ 10 องค์ประกอบ
- วนซ้ำตั้งแต่ 0 ถึง 9 (รวม)
- อ่านตัวเลขจากแป้นพิมพ์และบันทึกไว้ในเซลล์ถัดไปของอาร์เรย์
|
แต่คุณจะพิมพ์ค่าของอาร์เรย์ในลำดับย้อนกลับได้อย่างไร
ในการทำเช่นนี้ เราต้องการการวนซ้ำอีกหนึ่งรอบ ซึ่งi
จะใช้ค่าตั้งแต่ 9 ถึง 0 (อย่าลืมว่าจำนวนของดัชนีอาร์เรย์เริ่มต้นจาก 0) รหัสโปรแกรมสุดท้ายจะมีลักษณะดังนี้:
Scanner console = new Scanner(System.in);
int[] array = new int[10];
for (int i = 0; i < 10; i++) {
array[i] = console.nextInt();
}
for (int i = 9; i >= 0; i--) {
System.out.println(array[i]);
}
|
- สร้าง
Scanner วัตถุ
- สร้างวัตถุอาร์เรย์ 10 องค์ประกอบ
- วนซ้ำตั้งแต่ 0 ถึง 9 (รวม)
- อ่านตัวเลขจากแป้นพิมพ์และบันทึกไว้ในเซลล์ถัดไปของอาร์เรย์
- วนซ้ำตั้งแต่ 9 ถึง 0 (รวม)
- แสดงเซลล์ถัดไปในอาร์เรย์
|
3. การค้นหาองค์ประกอบขั้นต่ำในอาร์เรย์
มาดูงานที่น่าสนใจและทั่วไปกัน: การค้นหาองค์ประกอบขั้นต่ำในอาร์เรย์ เราจะคว้ารหัสที่เราใช้ในการเติมอาร์เรย์ในงานก่อนหน้า:
Scanner console = new Scanner(System.in);
int[] array = new int[10];
for (int i = 0; i < 10; i++) {
array[i] = console.nextInt();
}
|
- สร้าง
Scanner วัตถุ
- สร้างวัตถุอาร์เรย์ 10 องค์ประกอบ
- วนซ้ำตั้งแต่ 0 ถึง 9 (รวม)
- อ่านตัวเลขจากแป้นพิมพ์และบันทึกไว้ในเซลล์ถัดไปของอาร์เรย์
|
ตอนนี้สิ่งที่เราต้องทำคือเขียนโค้ดที่จะค้นหาองค์ประกอบขั้นต่ำในอาร์เรย์และแสดงบนหน้าจอ คุณทำอย่างนั้นได้อย่างไร?
ในการค้นหาองค์ประกอบขั้นต่ำคุณต้อง:
- ใช้องค์ประกอบแรกของอาร์เรย์เป็น "ค่าต่ำสุดปัจจุบัน"
- เปรียบเทียบองค์ประกอบทั้งหมดของอาร์เรย์กับมันทีละรายการ
- หากองค์ประกอบถัดไปน้อยกว่า "ขั้นต่ำปัจจุบัน" ให้อัปเดตค่าของ "ขั้นต่ำปัจจุบัน"
นี่คือลักษณะที่ปรากฏในรหัส:
Scanner console = new Scanner(System.in);
int[] array = new int[10];
for (int i = 0; i < 10; i++) {
array[i] = console.nextInt();
}
int min = array[0];
for (int i = 1; i < 10; i++) {
if (array[i] < min)
min = array[i];
}
System.out.println(min);
|
- สร้าง
Scanner วัตถุ
- สร้างวัตถุอาร์เรย์ 10 องค์ประกอบ
- วนซ้ำตั้งแต่ 0 ถึง 9 (รวม)
- อ่านตัวเลขจากแป้นพิมพ์และบันทึกไว้ในเซลล์ถัดไปของอาร์เรย์
- องค์ประกอบที่ศูนย์ของอาร์เรย์ถือเป็นจำนวนขั้นต่ำ
- วนซ้ำตั้งแต่ 1 ถึง 9 (รวม)
- หากองค์ประกอบปัจจุบันน้อยกว่า "ขั้นต่ำปัจจุบัน"
- จากนั้นอัปเดตค่าของ "ขั้นต่ำปัจจุบัน"
- แสดงจำนวนขั้นต่ำที่พบบนหน้าจอ
|
GO TO FULL VERSION