Problems ถ้าต้องเก็บข้อมูลความถี่ของคะแนน ของนิสิตในแต่ละช่วงคะแนน เช่น 100 คะแนน 1 คน 99 คะแนน 0 คน 98 คะแนน 5 คน … 0 คะแนน 1 คน.

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
Arrays.
Advertisements

Lecture 10: อาร์เรย์หนึ่งมิติ
ARRAY.
โจทย์ Array 12 มี.ค จงเขียนโปรแกรมเพื่ออ่านข้อมูลเข้าเป็นจำนวนเต็ม 10 จำนวน แล้วหาผลรวมของเลขเหล่านั้น.
อาเรย์ (Array).
Arrays.
บทที่ 6 ตัวแปรอาร์เรย์ (Array of Variable)
แถวลำดับ (array) ง40202 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์
Java Summer Camp 2011 Day เรื่อง Array 5 เมษายน 2560 โดย วชิราวุธ ธรรมวิเศษ.
ตัวแปร Array แบบ 1 มิติ การเขียนโปรแกรมแบบวนซ้ำ
อาคารสำนักงานเขต พื้นที่การศึกษา (สพป./สพม.)
กาพย์เห่เรือเจ้าฟ้าธรรมธิเบศร
ผลงานวิจัยเรื่อง เรื่อง ประเภทและลักษณะการขาย
กลุ่มที่ กลุ่มที่ กลุ่มที่ กลุ่มที่
กรมอุทยานแห่งชาติ สัตว์ป่าและพันธุ์พืช
การบริหารงานวิชาการ.
หน่วยการเรียนรู้ที่ 2 วัฒนธรรมไทย.
วิทยาลัยเทคโนโลยีสยามบริหารธุรกิจ นนทบุรี
บทที่ 13 การสืบพันธุ์ของพืชดอกและการเจริญเติบโต
หลักการและเหตุผลของการจัดอบรมสัมมนา ดำเนินการเลื่อนยศนายทหารสัญญาบัตร
ขันธ์ 5.
ครูภานุพงศ์ ใจเยือกเย็น
เปิดงานรณรงค์ส่งเสริม
สำนักงานพัฒนาธุรกิจการค้าจังหวัดเชียงใหม่
ชื่อโครงงาน (ภาษาไทย) ชื่อโครงงาน (ภาษาอังกฤษ)
โครงการสนับสนุนสินเชื่อเกษตรกรชาวสวนยาง รายย่อยเพื่อประกอบอาชีพเสริม
ผังมโนทัศน์สาระการเรียนรู้ภาษาไทย ชั้นประถมศึกษาปีที่ ๔
การสร้างวินัยให้ตนเอง
ประกาศกรมธุรกิจพลังงาน เรื่อง หลักเกณฑ์ วิธีการ การฝึกอบรมเรื่องก๊าซปิโตรเลียมเหลว การระวังและการป้องกันอันตรายของบุคลากรเฉพาะที่รับผิดชอบดูแลสถานที่ใช้ก๊าซปิโตรเลียมเหลว.
การขัดกันระหว่างประโยชน์ส่วนบุคคลและ ประโยชน์ส่วนรวมตามกฎหมาย ป.ป.ช.
ประชุมคณะทำงานลุ่มน้ำยม
ตำบลห้วยสัตว์ใหญ่ ประวัติความเป็นมา
การยืมเงิน จากแหล่งเงินงบประมาณรายได้
ผังมโนทัศน์สาระการเรียนรู้ภาษาไทย ชั้นมัธยมศึกษาปีที่ ๑
เราคือคนสอนคนไปทำงานเพื่อประชาชนตามรอยพ่อหลวง
ตำบลหนองพลับ ประวัติความเป็นมา
การสาธารณสุข (ฉบับที่ ๒)
แผนภูมิโครงสร้างอัตรากำลัง สำนักงานปลัดกระทรวงเกษตรและสหกรณ์
โครงงานฝึกปฏิบัติงาน (เล่ม 4) “ชื่อโครงงาน ”
การเก็บข้อมูลประวัติหมู่บ้าน ชุมชน วิถีชุมชน
บทที่ 1 อัตราส่วนและร้อยละ.
ประกาศรับสมัคร ด้วยโรงพยาบาลบางพลี จะดำเนินการรับสมัครคัดเลือกบุคคลเพื่อเป็นลูกจ้างชั่วคราวรายวัน ตำแหน่งเจ้าพนักงานพัสดุ จำนวน 1 อัตรา คุณสมบัติ เพศ.
สุมิตรชัย หัตถสาร ผู้บรรยาย
สิทธิการได้รับบำเหน็จบำนาญ กรณีเป็นสมาชิก กบข.
ประมวลกฎหมายอาญา มาตรา มาตรา ๒๐๙-๒๘๗/๒, ๓๖๗-๓๙๘
การสังเคราะห์และสมบัติทางไฟฟ้าของเซรามิกระบบ (Bi1/2K1/2)TiO3 – LiSbO3
กลุ่มที่3 สมาชิก 1.นายทศพล อนุกูล เลขที่ 2 ม.5/6
เอกสารประกอบการเรียนรายวิชางานประดิษฐ์
ประมวลภาพกิจกรรม สำนักงานปศุสัตว์จังหวัดกาญจนบุรี ต. ท่าล้อ อ
ข้อสอบ o-net เรื่อง สถิติ
2.1.1ลักษณะของสมาธิ จากหนังสือหลักสูตรครูสมาธิเล่ม 2 ( หน้า 4-7 )
การวิเคราะห์ภาวะธุรกิจ ไตรมาสที่ 1/2550
Regression with Time-Series Data: Stationary Variables
เรื่อง การเก็บข้อมูลประวัติหมู่บ้าน ชุมชน วิถีชุมชน
Important Statistics BY Assist. Prof. Benchamat Laksaniyanon, Phd
แผนปฏิบัติการกรมส่งเสริมสหกรณ์ 5 ปี (พ.ศ )
ความรู้เบื้องต้นเกี่ยวกับพระพุทธศาสนา
โครงการ/กิจกรรม ปีงบประมาณ 2553 และสรุปผลการดำเนินโครงการ
โครงการรณรงค์ลดความเสี่ยงของ น้ำมันทอดซ้ำด้วยชุดทดสอบ
แนวทางการตรวจสอบ และแก้ไขข้อผิดพลาดทางบัญชี
อาหารว่าง อาหารที่ทำให้เกิดฟันผุ ต้องพิจารณา
การเขียนรายงาน การประชุม
การสร้างเครือข่ายการท่องเที่ยว
เมนูย่อย -ลักษณะของสายพันธุ์ ซีพี บราวน์ -ลักษณะไก่ไข่ที่ดี
DOM และพื้นฐาน jQuery.
การวัดทางสุขภาพ Health Measurement
ภาพรวมตลาดทุนไทย เชิงเปรียบเทียบ
Chapter 10 International Criminal Law (Use of Force - Armed Conflict)
หน้ากากผ้าป้องกันฝุ่นละออง PM2.5
โครงการพัฒนาประสบการณ์ การจัดการเรียนการสอนปฐมวัย
ใบสำเนางานนำเสนอ:

Lecture2 Array อ.เหมรัศมิ์ วชิรหัตถพงศ์ คณะวิทยาการสารสนเทศ มหาวิทยาลัยบูรพา

Problems ถ้าต้องเก็บข้อมูลความถี่ของคะแนน ของนิสิตในแต่ละช่วงคะแนน เช่น 100 คะแนน 1 คน 99 คะแนน 0 คน 98 คะแนน 5 คน … 0 คะแนน 1 คน

การใช้ Array อาจจะต้องสร้างตัวแปร counter จำนวน 100 ตัว เพื่อใช้นับจำนวนของแต่ละคะแนน     int    counter1, counter2, counter3, ....., counter10;     int    counter11, counter12, counter13, ..., counter20;     int    counter21, counter22, counter23, ....., counter30;            .........     int    counter91, counter92, counter93, ..., counter100;     int    percentage;

Array ตัวแปรแบบอาร์เรย์ (Array) หรือตัวแปรแถว ลำดับ หมายถึงตัวแปรซึ่งมีค่าได้หลายค่าโดยใช้ ชื่ออ้างอิงเพียงชื่อเดียว ด้วยการใช้หมายเลข ลำดับเป็นตัวจำแนกความแตกต่างของค่าตัวแปร แต่ละตัว

Solving     for (int i=0; i<numStudentsInClass; i++) {         // รับค่าคะแนนจากผู้ใช้         percentage = input.nextInt();         // เงื่อนไขการนับ         switch(percentage) {             case 1:    counter1++; break;             case 2:    counter2++; break;             case 3:    counter3++; break;             ......             case 100:    counter100++; break;         }     }

Variables รูปแบบ ชื่อตัวแปรอาร์เรย์ = new ชนิดข้อมูล [ขนาดของอาร์เรย์] ตัวอย่าง int[] scores; scores = new int[50];

อีกวิธีในการสร้างอาร์เรย์ 1. ประกาศ ให้ตัวแปรชื่อ scores เป็น อาร์เรย์ของ int int[] scores; 2. จองพื้นที่ ใช้คำสั่ง new พร้อมกับระบุว่า ต้องการจองพื้นที่เก็บตัวแปรกี่ตัว scores = new int[3]; 3. กำหนดค่า ตัวแปรแต่ละตัวในอาร์เรย์ scores[0] = 30; scores[1] = 50; scores[2] = 85;

ลำดับที่ในอาร์เรย์ int[] sc; sc = new int[5]; หรือ 12 3 43 27 56

คุณสมบัติของ Array ของ Java indexed คือสามารถเข้าถึงสมาชิก (Element) แต่ ละตัวได้โดยอาศัย index หรือ ดัชนี ซึ่งจะเป็น ตัวเลข มี 0 เป็นค่าเริ่มต้น fixed size เมื่อสร้าง array แล้ว จะไม่สามารถเพิ่ม หรือ ลบ สมาชิก strongly typed and homogeneous นั่นคือ สมาชิกทุกตัวต้องมีชนิดข้อมูลเดียวกัน bounds-checked ถ้าเราพยายาม access สมาชิกที่ เกินขนาดของ array แล้ว java จะหยุดคำสั่งนั้น

ค่าเริ่มต้นของ elements เมื่อสร้าง array ใหม่ ข้อมูลภายใน array จะ ยังไม่มีข้อมูล ดังนั้นjava จึงกำหนดค่า default เป็นค่าเริ่มต้นของ elements แต่ละ ชนิดดังนี้ ตัวเลข = 0 boolean = false reference = null character = null

การกำหนดค่า ใช้เครื่องหมายปีกกาในการกำหนดค่าข้อมูลให้กับ สมาชิกใน Array int[] ages = {34, 12, 45}; double[] heights = {4.5, 23.6, 84.124, 78.2, 61.5}; boolean[] tired = {true, false, false, true}; String[] names = {"Bill","Jennifer","Joe"}; char vowels[] = {'a', 'e', 'i', 'o', 'u'};

Array of objects การเข้าถึงสมาชิกใน Array แบบ Object จะต้องระมัดระวัง ดังนี้ ตัวอย่างนี้ customers[0] จะมีค่าเป็น null การเรียก customers[0].getName() จึงเกิด error Customer[]  customers = new Customer[1000]; System.out.println(customers[0].getName());

Array of objects: ที่ถูกต้องจะต้อง Assign ค่าก่อนการเรียกใช้ Customer[]  customers = new Customer[1000]; customers[0] = new Customer("Jim"); System.out.println(customers[0].getName());

Size of Array เราสามารถทราบขนาดของ array ด้วยการเรียกใช้ ตัวแปร length ตัวแปร length ของ array ไม่สามารถเปลี่ยนค่าได้ double[] heights = {4.5, 23.6, 84.124, 78.2, 61.5}; String[] names = {"Bill","Jennifer","Joe"}; System.out.println(heights.length); // prints 5 System.out.println(names.length);   // prints 3 names[1] = null;                    // erases Jennifer  System.out.println(names.length);   // still prints 3

การวนลูปเพื่อเขียน/อ่านข้อมูล รูปแบบ for ( ชนิดข้อมูลที่เก็บในอาร์เรย์ ตัวแปร : อาร์เรย์) { // คำสั่งในลูปที่ใช้ ตัวแปร } ตัวอย่าง double[] scores = { 30, 50, 85, 10, 45 }; for( double s : scores) { System.out.println(s);

Solving using Array จากปัญหาการหาความถี่คะแนน สามารถใช้ array ได้ดังนี้ int    counter[] = new int[101]; int    percentage; for (int i=0; i<numStudentsInClass; i++) {     // Get the percentage from the user     percentage = input.nextInt();     // Now update the appropriate counter     counter[percentage]++; }

การอ้างเกินขอบเขต public class TestOutOfBound { public static void main(String[] args) { int[] scores = { 30, 50, 85, 10, 45 }; scores[5] = 10; }

Array of String String[] test = new String[3]; test[0] = "Hello"; test[1] = "Java"; test[2] = "World";

Array of String String[] test = { "Hello", "Java", "World"}; StringBuffer[] sb = { new StringBuffer("Hello"), new StringBuffer("Java"), new StringBuffer("World") };

คลาส Arrays

เมธอดในคลาส java.util.Arrays sort() ใช้เพื่อเรียงลำดับข้อมูลในอาร์เรย์ binarySearch() ใช้ค้นหาข้อมูลในอาร์เรย์ ผลของการค้นหาคืออินเด็กซ์(ตำแหน่ง)ใน อาร์เรย์ ก่อนที่จะค้นหาเราต้องเรียงลำดับข้อมูล เสียก่อน

การเรียงจำนวนเต็มโดยใช้คลาส Arrays java.util.Arrays.sort(score);

ตัวอย่างการเรียงลำดับจำนวนเต็ม int[] score={45,5,87,13,24}; Arrays.sort(score); หรือ java.util.Arrays.sort(score);

การเรียงวัตถุโดยใช้คลาส Arrays {"Jamies", "Amy", "Leo", "James"} import java.util.Arrays; ... Arrays.sort(names); {"Amy", "James", "Jamies", "Leo"}

การเรียงวัตถุโดยใช้คลาส Arrays import java.util.Arrays; public class SortString { public static void main(String[] args) { String[] names = { "Jamies", "Amy", "Leo", "James" }; Arrays.sort(names); System.out.println(Arrays.asList(names)); } Import คลาสอาร์เรย์ พิมพ์ชื่อทั้งหมดในอาร์เรย์

การเรียงชื่อภาษาไทย (แบบผิด) Arrays.sort(names); วัตถุในคลาส String ไม่รู้จักวิธีการเปรียบเทียบคำในภาษาไทย 555

การค้นหาโดยใช้คลาส Arrays เมธอด binarySearch( ) ถ้าพบ จะส่งตำแหน่งที่พบกลับมาให้ ถ้าไม่พบ จะส่งค่าติดลบมาให้

ตัวอย่างการค้นหา int[] id = {51, 3, 81, 20, 14}; Arrays.sort(id); int index = Arrays.binarySearch(id, 51); System.out.println(index);

อาร์เรย์สองมิติ ลักษณะเป็นตาราง

การสร้างอาร์เรย์สองมิติ รูปแบบ ชนิดข้อมูล[][] ตัวแปร = { อาร์เรย์แถวแรก, อาร์เรย์แถวที่สอง, ... }; ตัวอย่าง int[][] table = { { 1, 2, 3, 4},{ 5, 6, 7, 8}, { 9, 10, 11, 12}};

การระบุตำแหน่งในอาร์เรย์สองมิติ Index ตัวแรกจะระบุแถวและ Index ตัวที่ สองจะระบุคอลัมน์ รูปแบบ อาร์เรย์[แถว][คอลัมน์] ตัวอย่าง table[1][2]

การระบุตำแหน่งของตัวแปรในอาร์เรย์สองมิติ

การใช้งานอาร์เรย์สองมิติ ประกาศ int[][] table; จองพื้นที่ table = new int[3][4]; อ้างถึง table[0][0] = 3; table[0][1] = 5; table[0][2] = 8; table[0][3] = 7;

แต่ละแถวของอาร์เรย์สองมิติไม่จำเป็นต้องมีขนาดเท่ากัน

ตัวอย่าง int[][] twoD = { { 1, 2, 3}, { 4, 5, 6, 7}, { 4, 5, 6, 7}, { 8, 9, 10, 11, 12}}; System.out.println(twoD[1][2]);

อาร์เรย์สามมิติ

การระบุตำแหน่งในอาร์เรย์สามมิติ Index ตัวแรกจะแทน แผ่นงาน Index ตัวที่ สองจะแทนแถว Index ตัวที่ 3 จะแทน คอลัมน์ รูปแบบ อาร์เรย์[แผ่น][แถว][คอลัมน์]

END!