Submit Search
Upload
Java-Chapter 07 One Dimensional Arrays
•
2 likes
•
3,620 views
Wongyos Keardsri
Follow
Chapter 07 One Dimensional Arrays
Read less
Read more
Report
Share
Report
Share
1 of 16
Download now
Download to read offline
Recommended
Java-Chapter 05 String Operations
Java-Chapter 05 String Operations
Wongyos Keardsri
Java-Answer Chapter 01-04
Java-Answer Chapter 01-04
Wongyos Keardsri
Java-Chapter 02 Data Operations and Processing
Java-Chapter 02 Data Operations and Processing
Wongyos Keardsri
สรุปเนื้อหาวิชาการออกแบบและเทคโนโลยี ม.4-5
สรุปเนื้อหาวิชาการออกแบบและเทคโนโลยี ม.4-5
WitthayaMihommi
บฝ.การกำหนดเพศและยีนที่เกี่ยวเนื่องกับเพศ
บฝ.การกำหนดเพศและยีนที่เกี่ยวเนื่องกับเพศ
Maikeed Tawun
เล่มที่ 2 โครงสร้างของราก
เล่มที่ 2 โครงสร้างของราก
kanyamadcharoen
แผนการสอน เรื่องวิวัฒนาการ
แผนการสอน เรื่องวิวัฒนาการ
Sumalee Khvamsuk
แบบฝึกหัดการหาสัดส่วนจีโนไทป์ฟีโนไทป์
แบบฝึกหัดการหาสัดส่วนจีโนไทป์ฟีโนไทป์
Maikeed Tawun
Recommended
Java-Chapter 05 String Operations
Java-Chapter 05 String Operations
Wongyos Keardsri
Java-Answer Chapter 01-04
Java-Answer Chapter 01-04
Wongyos Keardsri
Java-Chapter 02 Data Operations and Processing
Java-Chapter 02 Data Operations and Processing
Wongyos Keardsri
สรุปเนื้อหาวิชาการออกแบบและเทคโนโลยี ม.4-5
สรุปเนื้อหาวิชาการออกแบบและเทคโนโลยี ม.4-5
WitthayaMihommi
บฝ.การกำหนดเพศและยีนที่เกี่ยวเนื่องกับเพศ
บฝ.การกำหนดเพศและยีนที่เกี่ยวเนื่องกับเพศ
Maikeed Tawun
เล่มที่ 2 โครงสร้างของราก
เล่มที่ 2 โครงสร้างของราก
kanyamadcharoen
แผนการสอน เรื่องวิวัฒนาการ
แผนการสอน เรื่องวิวัฒนาการ
Sumalee Khvamsuk
แบบฝึกหัดการหาสัดส่วนจีโนไทป์ฟีโนไทป์
แบบฝึกหัดการหาสัดส่วนจีโนไทป์ฟีโนไทป์
Maikeed Tawun
แกมจิ๊กซอกล้องจุลทรรศน์
แกมจิ๊กซอกล้องจุลทรรศน์
กมลรัตน์ ฉิมพาลี
สรุปเข้ม#7 ภาษาไทย
สรุปเข้ม#7 ภาษาไทย
Pasit Suwanichkul
การสืบพันธุ์ของพืช
การสืบพันธุ์ของพืช
chiralak
Evolution Plan : การคัดเลือกตามธรรมชาติ
Evolution Plan : การคัดเลือกตามธรรมชาติ
กมลรัตน์ ฉิมพาลี
ความหลากหลายทางระบบนิเวศ
ความหลากหลายทางระบบนิเวศ
สำนักงานคณะกรรมการการศึกษาขั้นพื้นฐาน
เอกสารประกอบการเรียนวิชา การใช้โปรแกรมคำนวน Excel
เอกสารประกอบการเรียนวิชา การใช้โปรแกรมคำนวน Excel
Lerdrit Dangrathok
Java Programming [8/12] : Arrays and Collection
Java Programming [8/12] : Arrays and Collection
IMC Institute
2 4โครงสร้างผังงานทำซ้ำ
2 4โครงสร้างผังงานทำซ้ำ
Pannathat Champakul
เนื้อหาเล่ม 2
เนื้อหาเล่ม 2
Aon Narinchoti
แบบทดสอบย่อย เรื่องกล้องจุลทรรศน์
แบบทดสอบย่อย เรื่องกล้องจุลทรรศน์
Phattarawan Wai
เรื่อง ทบทวนการบวก ลบ คูณ และหารเศษส่วน
เรื่อง ทบทวนการบวก ลบ คูณ และหารเศษส่วน
kanjana2536
อาณาจักรสิ่งมีชีวิต
อาณาจักรสิ่งมีชีวิต
กมลรัตน์ ฉิมพาลี
Pigment
Pigment
sukanya petin
ตัวอย่างการสร้างข้อสอบ
ตัวอย่างการสร้างข้อสอบ
wanchalerm sotawong
โรคทางพันธุกรรม
โรคทางพันธุกรรม
Jiraporn
ความคล้าย
ความคล้าย
ทับทิม เจริญตา
ศัพท์ที่เกี่ยวข้องกับเทคโนโลยี
ศัพท์ที่เกี่ยวข้องกับเทคโนโลยี
วริทธิ์ ลิ้มรุ่งเรือง
ภาษาอังกฤษ ม.ต้น
ภาษาอังกฤษ ม.ต้น
กัลยณัฏฐ์ สุวรรณไตรย์
มิวเทชัน (Mutation)
มิวเทชัน (Mutation)
Wan Ngamwongwan
ชุดการสอนที่ 4 ตับอ่อน (อาบ)
ชุดการสอนที่ 4 ตับอ่อน (อาบ)
วิเชียร กีรติศักดิ์กุล
Java-Chapter 09 Advanced Statements and Applications
Java-Chapter 09 Advanced Statements and Applications
Wongyos Keardsri
Java-Chapter 13 Advanced Classes and Objects
Java-Chapter 13 Advanced Classes and Objects
Wongyos Keardsri
More Related Content
What's hot
แกมจิ๊กซอกล้องจุลทรรศน์
แกมจิ๊กซอกล้องจุลทรรศน์
กมลรัตน์ ฉิมพาลี
สรุปเข้ม#7 ภาษาไทย
สรุปเข้ม#7 ภาษาไทย
Pasit Suwanichkul
การสืบพันธุ์ของพืช
การสืบพันธุ์ของพืช
chiralak
Evolution Plan : การคัดเลือกตามธรรมชาติ
Evolution Plan : การคัดเลือกตามธรรมชาติ
กมลรัตน์ ฉิมพาลี
ความหลากหลายทางระบบนิเวศ
ความหลากหลายทางระบบนิเวศ
สำนักงานคณะกรรมการการศึกษาขั้นพื้นฐาน
เอกสารประกอบการเรียนวิชา การใช้โปรแกรมคำนวน Excel
เอกสารประกอบการเรียนวิชา การใช้โปรแกรมคำนวน Excel
Lerdrit Dangrathok
Java Programming [8/12] : Arrays and Collection
Java Programming [8/12] : Arrays and Collection
IMC Institute
2 4โครงสร้างผังงานทำซ้ำ
2 4โครงสร้างผังงานทำซ้ำ
Pannathat Champakul
เนื้อหาเล่ม 2
เนื้อหาเล่ม 2
Aon Narinchoti
แบบทดสอบย่อย เรื่องกล้องจุลทรรศน์
แบบทดสอบย่อย เรื่องกล้องจุลทรรศน์
Phattarawan Wai
เรื่อง ทบทวนการบวก ลบ คูณ และหารเศษส่วน
เรื่อง ทบทวนการบวก ลบ คูณ และหารเศษส่วน
kanjana2536
อาณาจักรสิ่งมีชีวิต
อาณาจักรสิ่งมีชีวิต
กมลรัตน์ ฉิมพาลี
Pigment
Pigment
sukanya petin
ตัวอย่างการสร้างข้อสอบ
ตัวอย่างการสร้างข้อสอบ
wanchalerm sotawong
โรคทางพันธุกรรม
โรคทางพันธุกรรม
Jiraporn
ความคล้าย
ความคล้าย
ทับทิม เจริญตา
ศัพท์ที่เกี่ยวข้องกับเทคโนโลยี
ศัพท์ที่เกี่ยวข้องกับเทคโนโลยี
วริทธิ์ ลิ้มรุ่งเรือง
ภาษาอังกฤษ ม.ต้น
ภาษาอังกฤษ ม.ต้น
กัลยณัฏฐ์ สุวรรณไตรย์
มิวเทชัน (Mutation)
มิวเทชัน (Mutation)
Wan Ngamwongwan
ชุดการสอนที่ 4 ตับอ่อน (อาบ)
ชุดการสอนที่ 4 ตับอ่อน (อาบ)
วิเชียร กีรติศักดิ์กุล
What's hot
(20)
แกมจิ๊กซอกล้องจุลทรรศน์
แกมจิ๊กซอกล้องจุลทรรศน์
สรุปเข้ม#7 ภาษาไทย
สรุปเข้ม#7 ภาษาไทย
การสืบพันธุ์ของพืช
การสืบพันธุ์ของพืช
Evolution Plan : การคัดเลือกตามธรรมชาติ
Evolution Plan : การคัดเลือกตามธรรมชาติ
ความหลากหลายทางระบบนิเวศ
ความหลากหลายทางระบบนิเวศ
เอกสารประกอบการเรียนวิชา การใช้โปรแกรมคำนวน Excel
เอกสารประกอบการเรียนวิชา การใช้โปรแกรมคำนวน Excel
Java Programming [8/12] : Arrays and Collection
Java Programming [8/12] : Arrays and Collection
2 4โครงสร้างผังงานทำซ้ำ
2 4โครงสร้างผังงานทำซ้ำ
เนื้อหาเล่ม 2
เนื้อหาเล่ม 2
แบบทดสอบย่อย เรื่องกล้องจุลทรรศน์
แบบทดสอบย่อย เรื่องกล้องจุลทรรศน์
เรื่อง ทบทวนการบวก ลบ คูณ และหารเศษส่วน
เรื่อง ทบทวนการบวก ลบ คูณ และหารเศษส่วน
อาณาจักรสิ่งมีชีวิต
อาณาจักรสิ่งมีชีวิต
Pigment
Pigment
ตัวอย่างการสร้างข้อสอบ
ตัวอย่างการสร้างข้อสอบ
โรคทางพันธุกรรม
โรคทางพันธุกรรม
ความคล้าย
ความคล้าย
ศัพท์ที่เกี่ยวข้องกับเทคโนโลยี
ศัพท์ที่เกี่ยวข้องกับเทคโนโลยี
ภาษาอังกฤษ ม.ต้น
ภาษาอังกฤษ ม.ต้น
มิวเทชัน (Mutation)
มิวเทชัน (Mutation)
ชุดการสอนที่ 4 ตับอ่อน (อาบ)
ชุดการสอนที่ 4 ตับอ่อน (อาบ)
Viewers also liked
Java-Chapter 09 Advanced Statements and Applications
Java-Chapter 09 Advanced Statements and Applications
Wongyos Keardsri
Java-Chapter 13 Advanced Classes and Objects
Java-Chapter 13 Advanced Classes and Objects
Wongyos Keardsri
Java-Chapter 08 Methods
Java-Chapter 08 Methods
Wongyos Keardsri
Java-Chapter 10 Two Dimensional Arrays
Java-Chapter 10 Two Dimensional Arrays
Wongyos Keardsri
Java-Chapter 04 Iteration Statements
Java-Chapter 04 Iteration Statements
Wongyos Keardsri
Java-Chapter 06 File Operations
Java-Chapter 06 File Operations
Wongyos Keardsri
Java-Chapter 01 Introduction to Java Programming
Java-Chapter 01 Introduction to Java Programming
Wongyos Keardsri
Java-Chapter 11 Recursions
Java-Chapter 11 Recursions
Wongyos Keardsri
Java-Answer Chapter 07 (For Print)
Java-Answer Chapter 07 (For Print)
Wongyos Keardsri
Java-Answer Chapter 05-06 (For Print)
Java-Answer Chapter 05-06 (For Print)
Wongyos Keardsri
Java-Chapter 12 Classes and Objects
Java-Chapter 12 Classes and Objects
Wongyos Keardsri
ภาษา C# เบื้องต้น
ภาษา C# เบื้องต้น
ictyangtalad
IP address anonymization
IP address anonymization
Wongyos Keardsri
การควบคุมทิศทางการทำงานของโปรแกรม
การควบคุมทิศทางการทำงานของโปรแกรม
korn27122540
How to Study and Research in Computer-related Master Program
How to Study and Research in Computer-related Master Program
Wongyos Keardsri
Viewers also liked
(15)
Java-Chapter 09 Advanced Statements and Applications
Java-Chapter 09 Advanced Statements and Applications
Java-Chapter 13 Advanced Classes and Objects
Java-Chapter 13 Advanced Classes and Objects
Java-Chapter 08 Methods
Java-Chapter 08 Methods
Java-Chapter 10 Two Dimensional Arrays
Java-Chapter 10 Two Dimensional Arrays
Java-Chapter 04 Iteration Statements
Java-Chapter 04 Iteration Statements
Java-Chapter 06 File Operations
Java-Chapter 06 File Operations
Java-Chapter 01 Introduction to Java Programming
Java-Chapter 01 Introduction to Java Programming
Java-Chapter 11 Recursions
Java-Chapter 11 Recursions
Java-Answer Chapter 07 (For Print)
Java-Answer Chapter 07 (For Print)
Java-Answer Chapter 05-06 (For Print)
Java-Answer Chapter 05-06 (For Print)
Java-Chapter 12 Classes and Objects
Java-Chapter 12 Classes and Objects
ภาษา C# เบื้องต้น
ภาษา C# เบื้องต้น
IP address anonymization
IP address anonymization
การควบคุมทิศทางการทำงานของโปรแกรม
การควบคุมทิศทางการทำงานของโปรแกรม
How to Study and Research in Computer-related Master Program
How to Study and Research in Computer-related Master Program
Similar to Java-Chapter 07 One Dimensional Arrays
บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1
บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1
Little Tukta Lita
งานทำ Blog บทที่ 8
งานทำ Blog บทที่ 8
รัสนา สิงหปรีชา
งานทำ Blog บทที่ 8
งานทำ Blog บทที่ 8
รัสนา สิงหปรีชา
งานทำ Blog บทที่ 8
งานทำ Blog บทที่ 8
รัสนา สิงหปรีชา
08 arrays
08 arrays
a-num Sara
บทที่5 ข้อมูลชนิดอาร์เรย์และสตริง
บทที่5 ข้อมูลชนิดอาร์เรย์และสตริง
Naphamas
Java Programming: อะเรย์และคอลเล็กชั่น
Java Programming: อะเรย์และคอลเล็กชั่น
Thanachart Numnonda
09 multi arrays
09 multi arrays
a-num Sara
ตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระ
Areeya Onnom
ตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระ
Areeya Onnom
Lesson6
Lesson6
โทโม๊ะจัง นานะ
ตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระ
Areeya Onnom
4
4
Kkae Rujira
Array1
Array1
นายพิศณุ ท่าสอน
อาเรย์ (Array)
อาเรย์ (Array)
tumetr
ตัวแปรชุดและตัวแปรอักขระ PPT
ตัวแปรชุดและตัวแปรอักขระ PPT
Areeya Onnom
โครงสร้างแบบอาร์เรย์
โครงสร้างแบบอาร์เรย์
waradakhantee
บทที่ 6 อาร์เรย์
บทที่ 6 อาร์เรย์
Theeravaj Tum
Array
Array
Warawut
งาน
งาน
Noom Sataporn
Similar to Java-Chapter 07 One Dimensional Arrays
(20)
บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1
บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1
งานทำ Blog บทที่ 8
งานทำ Blog บทที่ 8
งานทำ Blog บทที่ 8
งานทำ Blog บทที่ 8
งานทำ Blog บทที่ 8
งานทำ Blog บทที่ 8
08 arrays
08 arrays
บทที่5 ข้อมูลชนิดอาร์เรย์และสตริง
บทที่5 ข้อมูลชนิดอาร์เรย์และสตริง
Java Programming: อะเรย์และคอลเล็กชั่น
Java Programming: อะเรย์และคอลเล็กชั่น
09 multi arrays
09 multi arrays
ตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระ
Lesson6
Lesson6
ตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระ
4
4
Array1
Array1
อาเรย์ (Array)
อาเรย์ (Array)
ตัวแปรชุดและตัวแปรอักขระ PPT
ตัวแปรชุดและตัวแปรอักขระ PPT
โครงสร้างแบบอาร์เรย์
โครงสร้างแบบอาร์เรย์
บทที่ 6 อาร์เรย์
บทที่ 6 อาร์เรย์
Array
Array
งาน
งาน
More from Wongyos Keardsri
The next generation intelligent transport systems: standards and applications
The next generation intelligent transport systems: standards and applications
Wongyos Keardsri
SysProg-Tutor 03 Unix Shell Script Programming
SysProg-Tutor 03 Unix Shell Script Programming
Wongyos Keardsri
SysProg-Tutor 02 Introduction to Unix Operating System
SysProg-Tutor 02 Introduction to Unix Operating System
Wongyos Keardsri
SysProg-Tutor 01 Introduction to C Programming Language
SysProg-Tutor 01 Introduction to C Programming Language
Wongyos Keardsri
Discrete-Chapter 11 Graphs Part III
Discrete-Chapter 11 Graphs Part III
Wongyos Keardsri
Discrete-Chapter 11 Graphs Part II
Discrete-Chapter 11 Graphs Part II
Wongyos Keardsri
Discrete-Chapter 11 Graphs Part I
Discrete-Chapter 11 Graphs Part I
Wongyos Keardsri
Discrete-Chapter 10 Trees
Discrete-Chapter 10 Trees
Wongyos Keardsri
Discrete-Chapter 09 Algorithms
Discrete-Chapter 09 Algorithms
Wongyos Keardsri
Discrete-Chapter 08 Relations
Discrete-Chapter 08 Relations
Wongyos Keardsri
Discrete-Chapter 07 Probability
Discrete-Chapter 07 Probability
Wongyos Keardsri
Discrete-Chapter 06 Counting
Discrete-Chapter 06 Counting
Wongyos Keardsri
Discrete-Chapter 05 Inference and Proofs
Discrete-Chapter 05 Inference and Proofs
Wongyos Keardsri
Discrete-Chapter 04 Logic Part II
Discrete-Chapter 04 Logic Part II
Wongyos Keardsri
Discrete-Chapter 04 Logic Part I
Discrete-Chapter 04 Logic Part I
Wongyos Keardsri
Discrete-Chapter 03 Matrices
Discrete-Chapter 03 Matrices
Wongyos Keardsri
Discrete-Chapter 02 Functions and Sequences
Discrete-Chapter 02 Functions and Sequences
Wongyos Keardsri
Discrete-Chapter 01 Sets
Discrete-Chapter 01 Sets
Wongyos Keardsri
Discrete-Chapter 12 Modeling Computation
Discrete-Chapter 12 Modeling Computation
Wongyos Keardsri
Java-Chapter 14 Creating Graphics with DWindow
Java-Chapter 14 Creating Graphics with DWindow
Wongyos Keardsri
More from Wongyos Keardsri
(20)
The next generation intelligent transport systems: standards and applications
The next generation intelligent transport systems: standards and applications
SysProg-Tutor 03 Unix Shell Script Programming
SysProg-Tutor 03 Unix Shell Script Programming
SysProg-Tutor 02 Introduction to Unix Operating System
SysProg-Tutor 02 Introduction to Unix Operating System
SysProg-Tutor 01 Introduction to C Programming Language
SysProg-Tutor 01 Introduction to C Programming Language
Discrete-Chapter 11 Graphs Part III
Discrete-Chapter 11 Graphs Part III
Discrete-Chapter 11 Graphs Part II
Discrete-Chapter 11 Graphs Part II
Discrete-Chapter 11 Graphs Part I
Discrete-Chapter 11 Graphs Part I
Discrete-Chapter 10 Trees
Discrete-Chapter 10 Trees
Discrete-Chapter 09 Algorithms
Discrete-Chapter 09 Algorithms
Discrete-Chapter 08 Relations
Discrete-Chapter 08 Relations
Discrete-Chapter 07 Probability
Discrete-Chapter 07 Probability
Discrete-Chapter 06 Counting
Discrete-Chapter 06 Counting
Discrete-Chapter 05 Inference and Proofs
Discrete-Chapter 05 Inference and Proofs
Discrete-Chapter 04 Logic Part II
Discrete-Chapter 04 Logic Part II
Discrete-Chapter 04 Logic Part I
Discrete-Chapter 04 Logic Part I
Discrete-Chapter 03 Matrices
Discrete-Chapter 03 Matrices
Discrete-Chapter 02 Functions and Sequences
Discrete-Chapter 02 Functions and Sequences
Discrete-Chapter 01 Sets
Discrete-Chapter 01 Sets
Discrete-Chapter 12 Modeling Computation
Discrete-Chapter 12 Modeling Computation
Java-Chapter 14 Creating Graphics with DWindow
Java-Chapter 14 Creating Graphics with DWindow
Java-Chapter 07 One Dimensional Arrays
1.
One Dimensional Arrays
- 07 Computer Programming using Java 77 CHAPTER อาเรย์หนึ่งมิติ 07 (One Dimensional Arrays) 1. ความร้ ูเบืองต้ นเกี่ยวกับอาเรย์ (Introduction to Arrays) ้ 1. นิยามของอาเรย์ 1) อาเรย์ (Arrays) คือ โครงสร้ างข้ อมูลประเภทหนึ่งที่ใช้ เก็บรายการของข้ อมูลประเภทเดียวกัน โดยเก็บ ข้ อมูลทังหมดเรี ยงต่อกันไปในหน่วยความจํา เสมือนนําข้ อมูลเก็บไว้ ใน "ช่ อง" ที่วางเรี ยงกัน เช่น ้ 6 1 7 9 'C' ไม่สนใจว่าช่องของอาเรย์จะวางเรี ยงกันในแนวตังหรื อแนวนอน ซึง ้ ่ 'U' จะเรี ยกว่าอาเรย์ทงหมด โดยแต่ละช่องจะเก็บข้ อมูลได้ เพียง 1 ค่า ั้ 2) ตําแหน่ งของอาเรย์ อาเรย์แต่ละชุดจะมีชื่อของอาเรย์และหมายเลขช่องที่ระบุตําแหน่ง (Index) ของข้ อ- มูลในอาเรย์แต่ละตัว ซึงจะเริ่มต้ นที่ตําแหน่งที่ 0 (Zero Index) เสมอ (เหมือนกับสตริ ง) ่ 0 1 2 3 6 1 7 9 ตําแหน่ง (Index) เริ่มที่ 0 แต่ลําดับ (Order) เริ่มที่ 1 3) ขนาดหรื อความยาวของอาเรย์ คือ จํานวนสมาชิกหรื อจํานวนข้ อมูลที่เก็บอยูในอาเรย์ชดนัน ่ ุ ้ 0 1 2 3 6 1 7 9 อาเรย์ยาว 4 (มีสมาชิก 4 ตัว) 4) มิตของอาเรย์ สามารถมีได้ ไม่จํากัด เช่นอาเรย์หนึ่งมิติ สองมิติ สามมิติ หรื อ n มิติ แต่โดยทัวไปแล้ วเรา ิ ่ นิยมใช้ อาเรย์หนึงมิตและอาเรย์สองมิติ ซึงในบทนี ้จะนําเสนออาเรย์หนึงมิติ ่ ิ ่ ่ 6 1 2 1 หนึงมิติ ่ 7 0 สามมิติ 9 4 สองมิติ 5 3 2. การประกาศและสร้ างอาเรย์ หนึ่งมิติ 1. การประกาศและสร้ างอาเรย์ หนึ่งมิตโดยใช้ Initialized List ิ การประกาศและสร้ างอาเรย์หนึ่งมิติโดยใช้ Initialized List เป็ นการสร้ างอาเรย์แบบง่าย ซึงจะประกาศใช้ ได้ ก็ ่ ต่อเมื่อทราบค่าทุกค่าที่จะเก็บลงไปในอาเรย์แล้ ว โดยมีรูปแบบคําสังดังนี ้ หลังชื่ออาเรย์ต้องมีสญลักษณ์ [] ่ ั <ประเภทข้ อมูล> <ชื่ออาเรย์>[] = { สมาชิก ,..., สมาชิก }; สมาชิกแต่ละตัวคันด้ วย Comma ่ เช่น int a[] = {34, 56, 52, 12, 90, 0, 75, 23, 45, 8}; ซึงจะได้ เป็ นโครงสร้ างดังนี ้ ่ 0 1 2 3 4 5 6 7 8 9 34 56 52 12 90 0 75 23 45 8 มีสมาชิก 10 ตัว แต่ตําแหน่งสูงสุดคือ 9 © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
2.
78
Computer Programming using Java 07 - One Dimensional Arrays ค่าสมาชิกแต่ละตัวของอาเรย์สามารถอ้ างอิงหรื อเรี ยกชื่อได้ โดยใช้ คําสัง <ชื่ออาเรย์ >[<ตําแหน่ ง>] เช่น ่ 0 1 2 3 4 5 6 7 8 9 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] โจทย์ ข้อที่ 1 [ระดับง่ าย] จงหาผลลัพธ์ จากส่ วนของโปรแกรมต่ อไปนี ้ โดยกําหนดให้ โปรแกรมสามารถ ทํางานจนจบได้ แม้ มี Error พร้ อมทังแสดงผลลัพธ์ สุดท้ ายของสมาชิกในอาเรย์ แต่ ละช่ อง (8 คะแนน) ้ 1 int i = 3; 2 int a[] = { 0, 2, 4, 6, 8, 1, 3, 5, 7, 9 }; 3 System.out.println(a[0] + a[6]); 4 System.out.println(a[1] * --a[4]); 5 System.out.println(a[9]++); 6 System.out.println(a[10] + a[4]); 7 System.out.println(a[1]++ + a[0]); 8 System.out.println(a[5 + 3]); 9 System.out.println(--a[2*i] + a[1]++); 10 System.out.println(a[1] + a[4] + a[9]); 0 1 2 3 4 5 6 7 8 9 ค่าของสมาชิกแต่ละช่องคือ 2. การประกาศและสร้ างอาเรย์ หนึ่งมิตโดยการ new ิ การประกาศและการสร้ างอาเรย์โดยการ new นี ้จะเป็ นวิธีแบบทัวไปที่ใช้ ในการเขียนโปรแกรมภาษาจาวา ซึงมี ่ ่ ขันตอนดังต่อไปนี ้ ้ 1) การประกาศตัวแปรอาเรย์หนึงมิติ ่ <ประเภทข้ อมูล> <ชื่ออาเรย์>[]; หลังชื่ออาเรย์ต้องมีเครื่ องหมาย [] เช่น a int a[]; 2) การสร้ างอาเรย์หนึงมิติ ่ หลังชื่ออาเรย์ไม่ต้องมีเครื่ องหมาย [] <ชื่ออาเรย์> = new <ประเภทข้ อมูล>[<ขนาด>]; ระบุขนาดหรื อจํานวนช่องของอาเรย์ (ไม่ใช่ตําแหน่ง) เช่น a = new int[3]; a 0 1 2 0 0 0 3) อาเรย์หนึงมิตที่ได้ หลังจากการประกาศและการสร้ าง ่ ิ มีคาเริ่มต้ นของทุกช่องเป็ น 0 (ประเภท int) ่ a[0] a[1] a[2] 4) การประกาศและการสร้ างอาเรย์หนึงมิตโดยรวมขันตอนที่ 1 และ 2 เข้ าด้ วยกัน (มี 2 วิธีให้ เลือกใช้ ) ่ ิ ้ <ประเภทข้ อมูล> <ชื่ออาเรย์>[] = new <ประเภทข้ อมูล>[<ขนาด>]; เครื่ องหมาย [] จะอยูหน้ าหรื อหลัง ่ <ประเภทข้ อมูล> []<ชื่ออาเรย์> = new <ประเภทข้ อมูล>[<ขนาด>]; ชื่ออาเรย์ก็ได้ เช่น int a[] = new int[3]; © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
3.
One Dimensional Arrays
- 07 Computer Programming using Java 79 5) ข้ อสังเกตในการประกาศและสร้ างอาเรย์หนึงมิติ ่ ขนาดของอาเรย์ถกระบุตอนสร้ างอาเรย์ ถ้ าต้ องการให้ อาเรย์มีกี่ช่องก็ให้ ระบุจํานวนช่องลงไป ซึงส่วนนี ้ ู ่ ไม่ใช่ตาแหน่งของอาเรย์ (อย่าสับสน) ลําดับของอาเรย์เริ่มนับที่ 1 แต่ตําแหน่งของอาเรย์เริ่มนับที่ 0 ํ ขนาดของอาเรย์เป็ นค่าของนิพจน์ได้ เช่น int data[] = new int[3 * n + 1]; เป็ นต้ น อาเรย์ที่สร้ างขึ ้น ไม่สามารถเพิ่มหรื อลดขนาดได้ (สร้ างแล้ วต้ องใช้ อย่างเดิมตลอดไป) ระบบจะตังค่าเริ่ มต้ นของข้ อมูลให้ กบอาเรย์ทกช่องโดยอัตโนมัตเิ มื่อเริ่มสร้ างอาเรย์ตามชนิดของอาเรย์ ้ ั ุ เช่น double a[] = new double[5]; จะได้ อาเรย์ 5 ช่องโดยมีคาเริ่มต้ นของทุกช่องเป็ น 0.0 ่ 3. การหาขนาดและความยาวของอาเรย์ หนึ่งมิติ การหาขนาดของอาเรย์จะใช้ คําสัง .length โดยระบุเข้ าไปหลังชื่ออาเรย์โดยไม่ต้องใส่วงเล็บ ดังรูปแบบต่อไปนี ้ ่ <ชื่ออาเรย์>.length อย่าจําสับสนกับเมท็อดที่ใช้ หาความยาวของสตริ งซึงใช้ .length() เช่นเดียวกัน ดังตัวอย่าง ่ 1 int a[] = new int[5]; หลัง length ไม่ใส่วงเล็บ 2 System.out.println(a.length); 3 String s = "JAVA!"; 4 System.out.println(s.length()); หลัง length ใส่วงเล็บ 5 int b[] = new int[12]; 6 System.out.println(b.length()); Error โจทย์ ข้อที่ 2 [ระดับง่ าย] จงเขียนคําสั่งภาษาจาวาเพื่อประกาศและสร้ างอาเรย์ ต่อไปนี ้ (12 คะแนน) 1) สร้ างอาเรย์ ช่ ือ num เก็บข้ อมลตัวเลขจํานวนเต็มที่ยาว 15 หลักขึนไป จํานวน 200 ค่ า (2 คะแนน) ู ้ 2) สร้ างอาเรย์ ช่ ือ dice เก็บหมายเลขหน้ าของลกเต๋ า (2 คะแนน) ู 3) สร้ างอาเรย์ ช่ ือ avgGrade เก็บผลการเรี ยนเฉลี่ยของนิสิตจํานวน 451 คน (2 คะแนน) 4) สร้ างอาเรย์ ช่ ือ grade เก็บผลการเรี ยนรายวิชา 2110101 ของนิสิตจํานวน 369 คน (2 คะแนน) 5) สร้ างอาเรย์ ช่ ือ x เก็บค่ าความจริง ซึ่งมีตาแหน่ งสงสุดของช่ องสมาชิกคือตําแหน่ งที่ 10 (2 คะแนน) ํ ู 6) สร้ างอาเรย์ ช่ ือ merge เก็บข้ อมลที่ได้ จากการนําอาเรย์ ในข้ อที่ 1 มาต่ อกับอาเรย์ ในข้ อที่ 2 (2 คะแนน) ู © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
4.
80
Computer Programming using Java 07 - One Dimensional Arrays 4. การอ้ างอิงค่ า การกําหนดค่ า และการแสดงผลของอาเรย์ หนึ่งมิติ 1) การอ้ างอิงค่ าจากอาเรย์ มีรูปแบบคําสังดังนี ้ ่ <ประเภทข้ อมูล> <ชื่อตัวแปร> = <ชื่ออาเรย์>[<ตําแหน่ง>]; เช่น int n = num[0]; (ให้ ตวแปร n ประเภทจํานวนเต็ม เก็บค่าจากอาเรย์ num ตําแหน่งที่ 0) ั 2) การกําหนดค่ าลงไปในอาเรย์ มีรูปแบบคําสังดังนี ้ ่ <ชื่ออาเรย์>[<ตําแหน่ง>] = <ค่าข้ อมูล>; เช่น num[0] = 13; (ให้ อาเรย์ num ตําแหน่งที่ 0 มีคาเท่ากับ 13) ่ 3) การแสดงผลของอาเรย์ จะใช้ คําสัง for ในการเข้ าไปยังสมาชิกแต่ละตัวในอาเรย์ตงแต่ตวแรก (ตําแหน่งที่ ่ ั้ ั 0) จนถึงตัวสุดท้ าย (ตําแหน่งที่ length - 1) ดังตัวอย่างต่อไปนี ้ ต้ องเขียน a.length ไม่ควรเขียนเป็ นตัว 1 int a[] = new int[5]; เลข และต้ องเป็ นเครื่ องหมาย < ไม่ใช่ <= 2 for(int i = 0; i < a.length; i++) { 3 a[i] = 100; 4 } i ต้ องเริ่ มที่ 0 ไม่ใช่ 1 (วนตําแหน่งของอาเรย์ ไม่ใช่วนลําดับ) โจทย์ ข้อที่ 3 [ระดับง่ าย] จงเขียนคําสั่งภาษาจาวาเพื่ออ้ างอิงและกําหนดค่ าจากอาเรย์ ต่อไปนี ้ โดยสมมุตให้ ิ อาเรย์ ในทุกข้ อมีการประกาศและสร้ างเรี ยบร้ อยแล้ วพร้ อมทังมีค่าข้ อมลครบทุกช่ อง (12 คะแนน) ้ ู 1) ประกาศตัวแปร x เพื่อเก็บข้ อมลประเภทจํานวนเต็มที่ได้ จากอาเรย์ num ตัวที่ 50 (2 คะแนน) ู 2) ประกาศตัวแปร y เพื่อเก็บข้ อมลประเภทจํานวนเต็มที่ได้ จากอาเรย์ num ตําแหน่ งที่ 50 (2 คะแนน) ู 3) ประกาศตัวแปร c เพื่อเก็บข้ อมลประเภทอักขระที่ได้ จากอาเรย์ code ตําแหน่ งสุดท้ าย (2 คะแนน) ู 4) ให้ ค่าสมาชิกตําแหน่ งที่ 12 ของอาเรย์ bank เก็บข้ อมลประเภทตรรกะจากตัวแปร var1 (2 คะแนน) ู boolean var1 = 5 > 6; 5) ให้ ค่าสมาชิกตัวที่ 1 ของอาเรย์ bank เก็บข้ อมลประเภทจํานวนจริงจากตัวแปร var2 (2 คะแนน) ู double var2 = kb.nextDouble(); 6) ให้ ค่าสมาชิกตัวรองสุดท้ ายของอาเรย์ bank เก็บข้ อมลประเภทอักขระจากตัวแปร var3 (2 คะแนน) ู char var3 = "java".charAt(3); © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
5.
One Dimensional Arrays
- 07 Computer Programming using Java 81 โจทย์ ข้อที่ 4 [ระดับง่ าย–ปานกลาง] จงเขียนส่ วนของโปรแกรมภาษาจาวาตามคําสั่งต่ อไปนี ้ (55 คะแนน) 1) สร้ างอาเรย์ ช่ ือ n แบบ Initialed List เพื่อเก็บเลขคี่ท่ ีอย่ ูในช่ วง 1 ถึง 20 พร้ อมทังแสดงค่ าของตัวเลข ้ ทุกตัวในอาเรย์ n ขึนบนจอภาพทีละบรรทัด (5 คะแนน) ้ 2) สร้ างอาเรย์ ช่ ือ m ขนาด 1000 ช่ อง พร้ อมทังกําหนดค่ าให้ กับสมาชิกทุกตัวในอาเรย์ m ให้ มีค่าเป็ น ้ ตัวเลขตังแต่ 1-1000 เรี ยงลําดับจากสมาชิกตัวแรกจนถึงสมาชิกตัวสุดท้ ายของอาเรย์ m (5 คะแนน) ้ 3) สร้ างอาเรย์ ช่ ือ a เพื่อเก็บตัวเลขจํานวนจริงใดๆ ที่รับมาจากแปนพิมพ์ จานวน 100 ตัว (5 คะแนน) ้ ํ Scanner kb = new Scanner(System.in); 4) นับจํานวนเลขคี่และค่ ท่ เก็บอย่ ในอาเรย์ x ว่ ามีอย่ างละกี่จานวนแล้ วแสดงผลขึนบนจอภาพ (10 คะแนน) ู ี ู ํ ้ int x[] = { 7, 9, -1, 4, 12, 9, 3, 2, -7, 2, 1, 9, -15, 24, 11, 13 }; © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
6.
82
Computer Programming using Java 07 - One Dimensional Arrays 5) รับตัวเลขจํานวนเต็มจากแปนพิมพ์ เก็บไว้ ในตัวแปร x แล้ วค้ นหาว่ า ค่ าสมาชิกตําแหน่ งแรกในอาเรย์ ้ num ที่มีค่าเท่ า x คือตําแหน่ งใด พร้ อมทังแสดงผลลัพธ์ ขึนบนจอภาพ (10 คะแนน) ้ ้ int num[] = { 3, 2, 1, 10, 2, 8, 3, 2, 1, 1, 8, 5, 10, 11, 7, 6, 10 }; Scanner kb = new Scanner(System.in); ถ้ าค้ นหาไม่ เจอให้ แสดงผลลัพธ์ เป็ นค่ า -1 โจทย์ ข้อที่ 5 [ระดับปานกลาง] จงเขียนโปรแกรมภาษาจาวาให้ สมบรณ์ เพื่อทําการผสาน (Merge) ข้ อมล ู ู ในอาเรย์ a และอาเรย์ b ซึ่งเป็ นจํานวนเต็มเข้ าเป็ นอาเรย์ เดียวกันในอาเรย์ ช่ ือ ab พร้ อมทังแสดงค่ า ้ สมาชิกของอาเรย์ ab (10 คะแนน) import java.util.Scanner; public class MergeArrays { public static void main(String[] args) { int a[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; int b[] = { 1, 4, 6, 8, 10, 12 }; } //End of main } //End of class โจทย์ ข้อที่ 6 [ระดับยาก] จงเขียนโปรแกรมภาษาจาวาให้ สมบรณ์ เพื่อรับตัวเลขจํานวนเต็มจากแปนพิมพ์ ู ้ เก็บไว้ ในตัวแปร x แล้ วทําการแบ่ ง (Split) ค่ าสมาชิกในอาเรย์ num ออกเป็ นอาเรย์ ใหม่ โดยถ้ าค่ าสมาชิก มีค่ามากกว่ าหรือเท่ ากับ x ให้ เก็บไว้ ในอาเรย์ upper ไม่ เช่ นนันให้ เก็บไว้ ในอาเรย์ lower (10 คะแนน) ้ import java.util.Scanner; public class SplitArray { public static void main(String[] args) { © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
7.
One Dimensional Arrays
- 07 Computer Programming using Java 83 int num[] = {95, 1, 6, 34, 5, 9, 123, -2, 57, 82, 12, 79, 45, 34, 1}; } //End of main } //End of class โจทย์ ข้อที่ 7 [ระดับยาก] จงเขียนโปรแกรมภาษาจาวาให้ สมบรณ์ เพื่อทําการกลับค่ าสมาชิกในอาเรย์ ู (Reverse Array) ที่ช่ ือ num จากหลังมาหน้ า แล้ วเก็บค่ าไว้ ในอาเรย์ ตวเดิม โดยในการเขียนโปรแกรมห้ าม ั ประกาศอาเรย์ ตวใหม่ เพิ่มโดยเด็ดขาด (10 คะแนน) ั import java.util.Scanner; public class ReverseArray { public static void main(String[] args) { int num[] = {95, 1, 6, 34, 5, 9, 123, -2, 57, 82, 12, 79, 45, 34, 1}; } //End of main } //End of class โจทย์ ข้อที่ 8 [ระดับยาก] จงเขียนโปรแกรมภาษาจาวาให้ สมบรณ์ เพื่อตรวจสอบและแสดงข้ อความว่ า ู อาเรย์ a และอาเรย์ b เท่ ากันหรื อไม่ โดยการเท่ ากันของอาเรย์ คือ ความยาวของอาเรย์ ต้องเท่ ากัน และ สมาชิกทุกตัวตําแหน่ งต่ อตําแหน่ งต้ องเท่ ากัน (10 คะแนน) © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
8.
84
Computer Programming using Java 07 - One Dimensional Arrays import java.util.Scanner; public class EqualityOfArrays { public static void main(String[] args) { int a[] = { 1, 2, 3, 4, 5, 6, 7 }, b[] = { 1, 2, 3, 5, 5, 7, 7 }; } //End of main } //End of class โจทย์ ข้อที่ 9 [ระดับยาก] จงเขียนโปรแกรมภาษาจาวาให้ สมบรณ์ เพื่อทําการรั บค่ าตัวเลขจํานวนเต็มจาก ู แปนพิมพ์ เก็บไว้ ในตัวแปร key เพื่อค้ นหาว่ าค่ าของตัวแปร key ปรากฏเป็ นลําดับรองสุดท้ ายที่ ตาแหน่ ง ้ ํ ใดในอาเรย์ num โดยถ้ าค้ นเจอให้ แสดงตําแหน่ งนัน แต่ ถ้าไม่ เจอให้ แสดงค่ า -1 (10 คะแนน) ้ import java.util.Scanner; public class LastSecondSearch { public static void main(String[] args) { int num[] = { 3, 2, 1, 10, 2, 8, 3, 2, 1, 1, 8, 5, 10, 11, 7, 6, 10 }; } //End of main } //End of class © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
9.
One Dimensional Arrays
- 07 Computer Programming using Java 85 3. การประยุกต์ ใช้ อาเรย์ (Applications of Array) 1. การเรียงลําดับแบบเลือก (Selection Sort) (ดูการสาธิตตัวอย่างการจัดเรี ยงในโจทย์ข้อที่ 10) 1 for (int i = data.length - 1; i >= 1; i--) { จํา 2 int maxIndex = 0; 3 for (int j = 0; j <= i; j++) 4 if (data[j] > data[maxIndex]) maxIndex = j; เรี ยงจากน้ อยไปหามาก 5 int temp = data[i]; 6 data[i] = data[maxIndex]; เลือกค่าที่สนใจในแต่ละรอบ ซึงอาจจะเป็ นค่ามาก ่ 7 data[maxIndex] = temp; 8 } ที่สดหรื อค่าน้ อยที่สดในรอบนัน เพื่อจัดเรี ยง ุ ุ ้ คําสัง for i ชันนอก เป็ นการกําหนดช่องหรื อเลือกช่องตําแหน่งที่ i ที่ต้องการจะเรี ยงลําดับ ่ ้ คําสัง for j ชันใน เป็ นการหาค่าสมาชิกที่สงสุดตังแต่ช่องแรกจนถึงช่องตําแหน่งที่ i ที่เลือกไว้ เพื่อจะได้ ่ ้ ู ้ สลับค่าสูงสุดไปไว้ ในช่องตําแหน่งที่ i นัน ้ 2. การเรียงลําดับแบบฟอง (Bubble Sort) (ดูการสาธิตตัวอย่างการจัดเรี ยงในโจทย์ข้อที่ 10) 1 for (int i = data.length - 1; i >= 1; i--) { จํา 2 for (int j = 0; j < i; j++) { 3 if (data[j] > data[j + 1]) { เรี ยงจากน้ อยไปหามาก 4 int temp = data[j]; 5 data[j] = data[j + 1]; 6 data[j + 1] = temp; จับค่ ูและขยับค่าที่สนใจในแต่ละรอบ อาจจะเป็ นค่า 7 } 8 } มากหรื อค่าน้ อยของคูนน เพื่อจัดเรี ยง ่ ั้ 9 } คําสัง for i ชันนอก เป็ นการกําหนดช่องตําแหน่งที่ i ที่ต้องการจะเรี ยงลําดับ ่ ้ คําสัง for j ชันใน เป็ นการเปรี ยบเทียบค่าเป็ นคูๆ เริ่ มตังแต่ช่องแรกจนถึงช่องตําแหน่งที่ i ที่กําหนดไว้ ่ ้ ่ ้ เพื่อจะขยับค่าหรื อดันค่าสมาชิกที่สงสุดไปไว้ ในช่องตําแหน่งที่ i นัน (เหมือนฟองสบูที่ลอยขึ ้นไปเรื่ อยๆ) ู ้ ่ โจทย์ ข้อที่ 10 [ระดับง่ าย] จงแสดงรายละเอียดในแต่ ละรอบของการจัดเรี ยงแบบเลือก (Selection Sort) และรายละเอียดของรอบที่ 1 และรอบที่ 2 ของการจัดเรี ยงแบบฟอง (Bubble Sort) จากชุดข้ อมลในอา- ู เรย์ x ต่ อนีให้ ถกต้ อง โดยให้ จัดเรี ยงข้ อมลจากน้ อยไปมาก (20 คะแนน) ้ ู ู int x[] = {30, 45, 23, 2, 19, 14, 5, 99, 9}; 30 45 23 2 19 14 5 99 9 การจัดเรี ยงแบบเลือก รอบที่ 1 รอบที่ 2 © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
10.
86
Computer Programming using Java 07 - One Dimensional Arrays รอบที่ 3 รอบที่ 4 รอบที่ 5 รอบที่ 6 รอบที่ 7 รอบที่ 8 การจัดเรี ยงแบบฟอง รอบที่ 1 รอบที่ 2 © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
11.
One Dimensional Arrays
- 07 Computer Programming using Java 87 3. การสืบค้ นแบบทวิภาค (Binary Search) เป็ นการค้ นข้ อมูลโดยการแบ่งครึ่งข้ อมูลในอาเรย์ แล้ วพิจารณาเพื่อตัดข้ อมูลออกไปครึ่งหนึง (ครึ่งซ้ ายหรื อครึ่ง ่ ขวาของอาเรย์) โดยข้ อมูลต้ องจัดเรี ยงก่อนเสมอ ซึงมีอลกอริทมในการสืบค้ นดังนี ้ (กําหนดให้ อาเรย์ชื่อ data) ่ ั ึ 1 int left = 0, right = data.length - 1, mid = 0; 2 while (left <= right) { 3 mid = (left + right) / 2; left คือ ตําแหน่งทางซ้ ายของชุดข้ อมูล 4 if (key == data[mid]) { 5 break; right คือ ตําแหน่งทางขวาของชุดข้ อมูล 6 } else if (key < data[mid]) { mid คือ ตําแหน่งตรงกลางของชุดข้ อมูล 7 right = mid - 1; 8 } else { 9 left = mid + 1; คําตอบจากการสืบค้ นคือค่าของ mid 10 } 11 } โจทย์ ข้อที่ 11 [ระดับง่ าย] จงเขียนลําดับการทํางานและนับจํานวนรอบจากการสืบค้ นข้ อมลแบบทวิภาค ู ของข้ อมลที่เก็บอย่ ูในอาเรย์ x ต่ อไปนี ้ เพื่อค้ นหาค่ าว่ า 14 อย่ ู ณ ตําแหน่ งใดในอาเรย์ ชุดนี ้ และให้ ู เปรียบเทียบคําตอบที่ได้ จากการสืบค้ นนี ้ กับการสืบค้ นแบบลําดับ (10 คะแนน) int x[] = {30, 45, 23, 2, 19, 14, 5, 99, 9}; 30 45 23 2 19 14 5 99 9 © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
12.
88
Computer Programming using Java 07 - One Dimensional Arrays โจทย์ ข้อที่ 12 [ระดับยาก] จงเขียนโปรแกรมภาษาจาวาให้ สมบรณ์ เพื่ออ่ านแฟมข้ อมลวันเกิดที่ช่ ือ ู ้ ู birthdate.txt ซึ่งเก็บข้ อมลในรปแบบ dd-mm-yyyy เช่ น 13-06-1987 เป็ นต้ น โดยมีข้อมลวันเกิด ู ู ู ของคนทังหมด 200 คน จงทําการจัดเรี ยงเดือนที่มีคนเกิดมากที่สุดจนถึงเดือนที่มีคนเกิดน้ อยที่สุด แล้ ว ้ แสดงผลลัพธ์ ท่ เป็ นชื่อเดือนทัง 12 เดือนที่ถูกจัดเรียงแล้ วขึนบนจอภาพตามลําดับ (10 คะแนน) ี ้ ้ birthdate.txt ตัวอย่ างการแสดงผลบนจอภาพ 13-02-2000 September [25 people] 01-10-1989 March [22 people] 31-01-1999 January [21 people] 21-12-1995 May [19 people] 17-07-1994 June [19 people] ... ... import java.util.Scanner; import java.io.*; public class SortMonthByBirthDate { public static void main(String[] args) throws IOException { } //End of main } //End of class © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
13.
One Dimensional Arrays
- 07 Computer Programming using Java 89 โจทย์ ข้อที่ 13 [ระดับเทพ] จงเขียนโปรแกรมภาษาจาวาให้ สมบรณ์ เพื่อใช้ สําหรั บประมวลผลคะแนนราย ู วิชา “How To Be Noob” โดยโปรแกรมจะเริ่มอ่ านเลขประจําตัวนิสิตจากแฟมข้ อมล student.txt แล้ ว ้ ู ทําการสร้ างคะแนนของนิสิตแต่ ละคนขึนมาโดยการสุ่ม ซึ่งประกอบไปด้ วย 5 ส่ วนได้ แก่ คะแนนสอบ ้ ย่ อย (5%) คะแนนการบ้ าน (10%) คะแนนปฏิบัติการ (10%) คะแนนสอบกลางภาค (30%) และคะแนน สอบปลายภาค (45%) แล้ วนํากลับไปบันทึกไว้ ในแฟมข้ อมล student.txt อีกครั ง จากนั นให้ อ่านค่ า ้ ู ้ ้ คะแนนทัง 5 ส่ วนของนิสิตแต่ ละคนจากแฟมข้ อมลเดิมเพื่อนํามาคํานวณหาค่ าคะแนนรวม (100%) ้ ้ ู พร้ อมทังตัดเกรดรายวิชานัน แล้ วนําผลลัพธ์ ท่ ีได้ ไปบันทึกไว้ ในแฟมข้ อมล totalscore.txt พร้ อมทัง ้ ้ ้ ู ้ บันทึกข้ อมลสรุ ปต่ างๆ ไว้ ท้ายแฟ มข้ อมลนั น ด้ วย โดยให้ เ ขียนโปรแกรมตามขัน ตอนต่ างๆ ที่โจทย์ ู ้ ู ้ ้ กําหนดไว้ ดงรายละเอียดต่ อไปนี ้ (85 คะแนน) ั student.txt ก่ อนการประมวลผล student.txt หลังการประมวลผล 5131000121 5131000121 3 7 3 20 26 5331000221 5331000221 4 6 9 24 40 5231000321 5231000321 0 1 8 25 27 5031000421 5031000421 0 3 10 15 0 4931000521 4931000521 2 0 7 28 25 4931000621 4931000621 4 6 7 3 19 5231000721 5231000721 2 10 3 27 45 ... ... totalscore.txt หลังการประมวลผล totalscore.txt ท้ ายแฟมข้ อมล ้ ู 5131000121 59 D ... 5331000221 83 A Max Score: 87 5231000321 61 C Max Score Freq: 1 5031000421 28 F Max Score Year: 2 4931000521 62 C Min Score: 14 4931000621 39 F Min Score Freq: 1 5231000721 87 A Min Score Year: 4 5031000821 63 C Avg Score: 49.72 5131000921 44 F Max Freq: 5 ... List Max Freq Score: 33 60 import java.io.*; import java.util.Scanner; public class ScoreCalculator { public static void main(String[] args) throws IOException { //สร้ างตัวอ่ านชื่อ in1 เพื่อเปิ ดอ่ านแฟมข้ อมล student.txt สําหรับนับจํานวนนิสิตทังหมดที่ ้ ู ้ ปรากฎในแฟมนัน แล้ วเก็บผลลัพธ์ ไว้ ในตัวแปร count (5 คะแนน) ้ ้ © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
14.
90
Computer Programming using Java 07 - One Dimensional Arrays //สร้ างตัวอ่ านชื่อ in2 เพื่อเปิ ดอ่ านแฟมข้ อมล student.txt อีกครั ง และสร้ างอาเรย์ ช่ ือ id แล้ ว ้ ู ้ ทําการอ่ านค่ าเลขประจําตัวนิสิตแต่ ละคนเก็บไว้ ในอาเรย์ id ทีละช่ อง (5 คะแนน) //สร้ างตัวเขียนชื่อ out1 เพื่อเขียนแฟมข้ อมล student.txt โดยในแต่ ละบรรทัดจะประกอบไป ้ ู ด้ วยเลขประจําตัวนิสิต ตามด้ วยข้ อมลคะแนนทัง 5 ส่ วนของของนิสิตที่ได้ จากการสุ่มตัวเลขจํา- ู ้ นวนเต็มตามขอบเขตดังต่ อไปนี ้ คะแนนสอบย่ อย (สุ่ มตัวเลข 0-5) คะแนนการบ้ าน (สุ่ มตัวเลข 0- 10) คะแนนปฏิบัตการ (สุ่ มตัวเลข 0-10) คะแนนสอบกลางภาค (สุ่ มตัวเลข 0-30) และคะแนนสอบ ิ ปลายภาค (สุ่ มตัวเลข 0-45) (10 คะแนน) //สร้ างตัวอ่ านชื่อ in3 เพื่อเปิ ดอ่ านแฟมข้ อมล student.txt อีกครั ง และสร้ างอาเรย์ ช่ ือ sc แล้ ว ้ ู ้ ทําการคํานวณคะแนนรวมของนิสิตแต่ ละคนเก็บไว้ ในอาเรย์ sc ทีละช่ อง (10 คะแนน) © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
15.
One Dimensional Arrays
- 07 Computer Programming using Java 91 //สร้ างตัวเขียนชื่อ out2 เพื่อเขียนแฟมข้ อมล totalscore.txt โดยในแต่ ละบรรทัดจะประกอบ ้ ู ไปด้ วยเลขประจําตัวนิสิต คะแนนรวม และเกรดของนิสิตแต่ ละคน โดยเกรดมี 5 ระดับได้ แก่ A (ช่ วงคะแนน 80-100) B (ช่ วงคะแนน 70-79) C (ช่ วงคะแนน 60-69) D (ช่ วงคะแนน 50-59) และ F (ช่ วงคะแนน 0-49) (10 คะแนน) //หาคะแนนรวมของนิสิตที่ได้ คะแนนสงสุด (Max Score) และตํ่าสุด (Min Score) ู //หาจํานวนนิสิตที่ได้ คะแนนสงสุด (Max Score Freq) และตํ่าสุด (Min Score Freq) มีอย่ างละกี่คน ู //หาว่ านิสิตผ้ ูท่ ได้ คะแนนสงสุดและตํ่าสุดเป็ นนิสิตชันปี ใด (ถ้ ามีหลายชันปี ให้ แสดงชันปี ใดก็ได้ ) ี ู ้ ้ ้ //หาค่ าเฉลี่ยของคะแนนรวมของนิสิตทังหมด (Average Score) ้ //หาความถี่ สูงสุด (Max Freq) ของคะแนน //หาว่ ามีคะแนนใดบ้ างที่มีนิสิตได้ กันมากที่สุด (List Max Freq Score) (15 คะแนน) © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
16.
92
Computer Programming using Java 07 - One Dimensional Arrays //แสดงผลลัพธ์ ท่ ได้ จากการประมวลผลทังหมดจากขันตอนก่ อนหน้ านี ้ ต่ อท้ ายแฟมข้ อมล ี ้ ้ ้ ู totalscore.txt (10 คะแนน) //คําสั่งในการปิ ดแฟมข้ อมล (5 คะแนน) ้ ู } //End of main } //End of class © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
Download now