Download Attach Files..

Document related concepts
no text concepts found
Transcript
LOGO
อะเรย์ (Array)
ดัดแปลงจาก Nerissa Onkhum
24/05/60
อาจารย์ เณริสสา อ่อนขา
http://mathcom.uru.ac.th/~nerissa/OOP.html
1
Outline
อธิบายความหมายของอะเรย์
แนะนาอะเรย์ของข้อมูลชนิดพื้นฐาน
แนะนาอะเรย์ของข้อมูลชนิดคลาส
แนะนาอะเรย์หลายมิติ
24/05/60
2
ความหมายของอะเรย์
อะเรย์ในภาษาจาวาคือตัวแปรที่เป็ นชนิดข้อมูลแบบอ้างอิงทีส่ ามารถใช้
เก็บข้อมูลชนิดเดียวกันได้หลายค่า
ตัวอย่างเช่น คาสัง่
int []x = new int[5];
อะเรย์แบ่งเป็ น
 อะเรย์ของข้อมูลชนิดพื้นฐาน
 อะเรย์ของข้อมูลชนิดคลาส
24/05/60
3
สมาชิกแต่ละตัวของ Array จะเรี ยกว่า Element หรื อ Cell ตัว
เลขที่ใช้ระบุตาแหน่ งสมาชิกของ Array เรี ยกว่า Index หรื อ
Subscript
5
8
9
7
3
X[0]
X[1]
X[2]
X[3]
X[4]
ตัวอย่าง Array X ที่มี 5 Element ซึ่งจะเริ่ มต้น
ตั้งแต่ Index 0 ถึง 4
int a=5;
a=3;
3
5
int a;
int b;
int c;
a
b
พื้นที่ a ใน ram
c
พื้นที่ใน ram
อาเรย์ 1 มิติ
อาเรย์ 2 มิติ
X[0]
X[1]
X[2]
X[3]
X[4]
X[0][0] X[0][1] X[0][2] X[0][3] X[0][4]
X[1][0] X[1][1] X[1][2] X[1][3] X[1][4]
อะเรย์ ของข้ อมูลชนิดพืน้ ฐาน
การสร้างอะเรย์ของข้อมูลชนิดพื้นฐานมีข้ นั ตอนดังนี้
 ประกาศชื่อตัวแปรอะเรย์
 สร้างตัวแปรอะเรย์และจองเนื้อที่ในหน่วยความจาโดย
ใช้คาสัง่ new
24/05/60
8
การประกาศชื่ อตัวแปรอะเรย์
รู ปแบบคล้ายกับการประกาศชื่อตัวแปรของชนิดข้อมูลแบบพืน้ ฐาน แต่
การประกาศตัวแปรอะเรย์จะต้องมีเครื่ องหมาย [] อยูด่ า้ นหน้าหรื อ
ด้านหลังชื่อตัวแปรดังนี้
[modifier] dataType []variableName;
หรื อ
[modifier] dataType variableName[];
24/05/60
9
การประกาศชื่ อตัวแปรอะเรย์
ตัวอย่างเช่น คาสัง่
int x[];
char []ch;
double y[];
ข้อควรระวัง
คำสัง่ int
24/05/60
[]x,y;
แตกต่ำงจำกคำสัง่
int x[],y;
10
การสร้ างตัวแปรอะเรย์
อะเรย์จะถูกสร้างและจองเนื้อที่ในหน่วยความจาโดยใช้คาสัง่ new ซึง่
มีรปู แบบของคำสังดั
่ งนี้
variableName
=
new dataType[size];
ตัวอย่ำงเช่น
x = new int[5];
ch = new char[4];
y = new double[6];
24/05/60
11
การรวมคาสั่ งประกาศและสร้ างตัวแปรอะเรย์
เราสามารถที่จะรวมคาสัง่ ประกาศชื่อตัวแปรและคาสัง่ การสร้าง
ตัวแปรอะเรย์ไว้ในคาสัง่ เดียวกันได้ โดยมีรูปแบบคาสัง่ ดังนี้
dataType []variableName = new dataType[size];
หรือ
dataType variableName[] = new dataType[size];
ตัวอย่ำงเช่น
24/05/60
int []x = new int[5];
13
การเรียกใช้ สมาชิกของอะเรย์
ตัวแปรอะเรย์ที่สร้างขึ้นจะมีสมาชิกที่มีหมายเลขตั้งแต่ 0 จนถึง size-1
การอ้างอิงถึงสมาชิกของตัวแปรอะเรย์แต่ละตัวจะมีรูปแบบดังนี้
variableName[index]
 ตัวอย่ างเช่ น
x[3]
การเปลี่ยนแปลงค่าของสมาชิกของอะเรย์ทาได้โดยการใช้คาสัง่
กาหนดค่า โดยต้องอ้างอิงถึงหมายเลขสมาชิกของอะเรย์
 ตัวอย่ างเช่ น
x[0] = 4;
x[2] = 5;
24/05/60
14
ตัวอย่ างโปรแกรม
public class SimpleArrays {
public static void main(String args[]) {
int []x;
x = new int[4];
x[0] = 0;
x[1] = 2;
x[2] = 4;
x[3] = 6;
ผลลัพธ์ที่ได้จากการรันโปรแกรม
System.out.println("x = "+x);
x = [I@310d42
System.out.println("x[0] = "+x[0]);
x[0] = 0
System.out.println("x[1] = "+x[1]);
x[1] = 2
System.out.println("x[2] = "+x[2]);
x[2] = 4
System.out.println("x[3] = "+x[3]);
x[3] = 6
}
}
24/05/60
15
การกาหนดค่ าเริ่มต้ นให้ กบั สมาชิกของอะเรย์
เราสามารถที่จะประกาศตัวแปรอะเรย์ สร้างตัวแปรอะเรย์
และกาหนดค่าให้กบั สมาชิกของอะเรย์ภายในคาสั่งเดียวกัน
โดยมีรูปแบบของคาสั่งดังนี้
dataType
[]variableName={value1,value2,..,valueN};
ตัวอย่างเช่น
int []x = {4,3,5,1,8};
24/05/60
16
ลาดับทีใ่ นอะเรย์
รู ปแบบ
 อะเรย์[อินเด็กซ์]
ตัวแปรที่อยูล่ าดับแรกมีอินเด็กซ์เป็ น 0
ตัวแปรที่อยูถ่ ดั ไปคือ 1, 2, 3, ... ตามลาดับ
ตัวแปรที่อยูใ่ นลาดับสุ ดท้ายของ อะเรย์ มีอินเด็กซ์คือ อะเรย์ .length - 1
24/05/60
17
ตัวอย่ าง
int[] scores = { 30, 50, 85, 10, 45 };
System.out.println(scores[0]);
System.out.println(scores[scores.length-1]);
24/05/60
18
ขนาดของอะเรย์
รู ปแบบ
 อะเรย์ .length
ตัวอย่ าง
int[] scores;
scores = new int[50];
System.out.println(scores.length);
24/05/60
19
ตัวแปรอะเรย์ หลายตัว
การประกาศอาร์เรย์หลายตัวทาได้ดงั นี้
int [] abc , xyz;
abc = new int[500];
xyz = new int[10];
หรื อเขียนรวมกันได้ดงั นี้
int[] abc = new int[500], xyz = new int[10];
ข้อควรระวัง
int [] a,b ;
a และ b เป็ น Array
int a[],b ; a เป็ น Array
b ไม่เป็ น Array
int [] a , b;
a = new int[5];
b = new int[3];
a = b ;
a
b
a[0]
b[0]
a[1]
b[1]
a[2]
b[2]
a[3]
a[4]
การอ้ างถึงสมาชิกของอะเรย์ โดยใช้ คาสั่ ง for
โดยทัว่ ไปเราจะใช้คาสัง่ for ในการอ้างอิงถึงสมาชิกของอะเรย์ที่ตอ้ ง
เรี ยกใช้ในคาสัง่ ที่ซ้ ากัน
ภาษาจาวากาหนดให้ตวั แปรอะเรย์ทุกตัวมีคุณลักษณะที่ชอื่ length เพื่อ
ระบุจานวนสมาชิกของอะเรย์แต่ละตัว
ตัวอย่างเช่น
int []x = {4,3,5,1,8};
for (int i = 0; i < x.length; i++) {
System.out.println(x[i]); }
24/05/60
22
การอ้ างถึงสมาชิกของอะเรย์ โดยใช้ คาสั่ ง for
รูปแบบ
for (int i = 0; i < อะเรย์ .length; i++) {
// คำสั่งในลปู ทีใ่ ช้ อะเรย์ [i]
}
ตัวอย่ าง
double[] scores = { 30, 50, 85, 10, 45 };
for( int i = 0; i < scores.length; i++) {
System.out.println(scores[i]);
}
24/05/60
23
ตัวอย่ างโปรแกรม
public class ForWithArrays {
public static void main(String args[]) {
int []x;
x = new int[4];
for (int i=0; i<x.length; i++) {
x[i] = i*2;
}
System.out.println("x = "+x);
for (int i=0; i<x.length; i++) {
System.out.println("x["+i+"] = "+x[i]);
}
}
24/05/60
}
24
การค้นหาค่าใน อะเรย์ จะเป็ นการตรวจสอบค่าในอะเรย์ที่ละ 1
ตาแหน่งว่ามีค่าตรงกับที่เราค้นหาหรื อไม่ โดยจะใช้การค้นตั้งแต่
ตาแหน่ง 0 ถึงตาแหน่งสุ ดท้าย
การเรียงลาดับในอะเรย์
 ใช้การสลับที่ (swap) ค่าของตาแหน่งในอะเรย์ (คล้ายกับการ
เรี ยงลาดับตัวเลขที่ทาในเรื่ องของ if) ซึ่งจะมีลาดับการทางานดังนี้
1. Array a[ ], int i=0,j=1 สาหรับบอกตาแหน่ง, int temp ใช้
พักค่าข้อมูล
2. เปรี ยบเทียบค่าของ a[i] และ a[j]
3. ถ้าค่าของ a[i] มากกว่า a[j] ให้ temp = a[j]
4. a[j] = a[i]
5. a[i] = temp
6. ปรับค่า j แล้วกลับไปทาข้อสองจนกระทัง่ j มีค่าเท่ากับความยาวของ a[]
7. ปรับค่า j=1 นับค่า i ต่อ ข้อสองจนกระทัง่ i มีค่าเท่ากับความยาวของ a[]1
For-each loop
For –each loop (เรี ยกอีกอย่างว่า Enhanced for
loop) เป็ นคาสัง่ ทาซ้ าที่ถูกพัฒนาขึ้นใหม่ต้ งั แต่ตวั
แปลภาษาจาวาเวอร์ชนั่ 5.0 คาสัง่ ทาซ้ าประเภทนี้
ช่วยให้เราสามารถดึงข้อมูลทั้งหมดในอะเรย์
24/05/60
27
การอ้ างถึงสมาชิกของอะเรย์ โดยใช้ คาสั่ ง for (แบบที่สอง)
รูปแบบ
for ( ชนิดข้อมูลที่เก็บในอะเรย์ ตัวแปร : อะเรย์) {
// คำสั่งในลูปที่ใช้ ตัวแปร
}
** การใช้ for มีขอ้ ดีคือไม่ตอ้ งใช้อินเด็กซ์ **
ตัวอย่ าง
double[] scores = { 30, 50, 85, 10, 45 };
for( double s : scores) {
System.out.println(s);
}
24/05/60
28
class BasicArray {
public static void main(String[] args){
final int LIMIT=15, MULTIPLE=10;
้
//ประกาศค่าคงทีส
่ าหรับใชงาน
int[] list=new int[LIMIT];
ื่ list จานวน 15 เซล
//จองอาร์เรย์ชอ
for(int index=0; index<LIMIT; index++)
//วนลูป 15 ครัง้
list[index]=index*MULTIPLE;
์ าคูณกับ 10 แล ้วเก็บในเซล
//นาค่าอินเด็กซม
list[5]=999;
//เปลีย
่ นเซลทีห
่ กเป็ น 999
for(int value : list)
ื่ list
//วนลูปแสดงผลข ้อมูลในอาร์เรย์ชอ
System.out.print(value+" ");
ข้ อผิดพลาดประเภท ArrayIndexOutOfBoundException
การอ้างอิงถึงหมายเลขสมาชิกของอะเรย์ที่ไม่ถูกต้องจะทาให้เกิด
ข้อผิดพลาดในตอนรันโปรแกรมโดยโปรแกรมจะส่ งข้อผิดพลาดที่ชื่อ
ArrayIndexOutOfBoundException ออกมาในขณะรันโปรแกรม
ตัวอย่างเช่น คาสัง่
int []x = {4,3,5,1,8};
การอ้างอิง x[5] จะทาให้เกิดข้อผิดพลาดในตอนรันโปรแกรม
24/05/60
30
class TestArray{
public static void main(String s[]){
int c[]={1,3,5,7,3,8};
for (int i=1;i<=c.length;i++)
System.out.println(c[i]);
}
}
อะเรย์ ของข้ อมูลชนิดคลาส
 ตัวแปรอะเรย์ของข้อมูลชนิดคลาสคือตัวแปรที่ใช้เก็บกลุ่มของ
ข้อมูลสมาชิกที่เป็ นออปเจ็คของคลาสใดคลาสหนึ่ง
 ขั้นตอนการสร้างตัวแปรอะเรย์ของข้อมูลชนิดคลาสจะมี
ขั้นตอนคล้ายกับขั้นตอนการสร้างตัวแปรอะเรย์ของข้อมูล
ชนิดพื้นฐาน โดยมีข้ นั ตอนต่างๆดังนี้
 ประกาศตัวแปรอะเรย์
 สร้างและจองเนื้อที่ในหน่วยความจา
 สร้างออปเจ็คของคลาสให้กบั สมาชิกแต่ละตัวของอะเรย์
24/05/60
32
การสร้ างอะเรย์ ของข้ อมูลชนิดคลาส
สาหรับการสร้างอะเรย์ของข้อมูลชนิดคลาส คาสัง่ new
จะจองเนื้อที่ในหน่วยความจาสาหรับเก็บค่าของสมาชิก
ของอะเรย์ ซึ่ งจะเป็ นเพียงแค่ตาแหน่งอ้างอิงเท่านั้น
ดังนั้นจะต้องมีการเรี ยกใช้คาสัง่ new อีก เพื่อสร้างออปเจ็ค
ของคลาสให้กบั สมาชิกแต่ละตัวของอะเรย์
24/05/60
33
ตัวอย่ างการสร้ างอะเรย์ของข้ อมูลชนิดคลาส
1
2
3
4
Student []s = new Student[3];
s[0] = new Student(“Thana”);
s[1] = new Student(“Somchai”);
s[2] = new Student(“Somsak”);
 คาสั่งในบรรทัดที่ 1 เป็ นการประกาศตัวแปรและสร้างอะเรย์ของข้อมูลชนิด
คลาส Student ที่มีสมาชิก 3 ตัว
 คาสั่งในบรรทัดที่ 2-4 เป็ นการสร้างออปเจ็คให้กบั สมาชิกแต่ละตัวของ อะเรย์
ของข้อมูลชนิดคลาส Student ซึ่ งใช้คาสัง่ new ในการเรี ยก Constructor
เหมือนกับการสร้างออปเจ็คทัว่ ไป
24/05/60
34
การรวมคาสั่ งในการสร้ างอะเรย์ และสร้ างออปเจ็ค
จำกตัวอย่ำงทีแ่ ล้ว
Student []s = new Student[3];
s[0] = new Student(“Thana”);
s[1] = new Student(“Somchai”);
s[2] = new Student(“Somsak”);
เรำสำมำรถรวมคำสังที
่ ใ่ ช้ในกำรสร้ำงอะเรย์ของข้อมูลชนิดคลำส และคำสังที
่ ใ่ ช้
ในกำรสร้ำงออปเจ็คให้กบั สมำชิกแต่ละตัวของอะเรย์ได้ดงั นี้
Student []s = {
24/05/60
new Student(“Thana”),
new Student(“Somchai”),
new Student(“Somsak”)};
35
การเก็บค่ าของตัวแปรอะเรย์
กรณี อะเรย์ของข้อมูลชนิดคลาส ข้อมูลสมาชิกแต่ละตัว
ของอะเรย์จะเก็บตาแหน่งอ้างอิงของหน่วยความจา ซึ่ งจะอ้างอิง
ไปถึงข้อมูลของออปเจ็คอีกที
ตัวอย่ำง
Student s1
=
new
Student("Somsri");
Student []s = { new Student(“Thana”),
new Student(“Somchai”),
new Student(“Somsak”)};
24/05/60
36
รูปแสดงตัวอย่ างการเก็บค่ าในหน่ วยความจา
24/05/60
37
ตัวอย่ างโปรแกรมอะเรย์ ข้อมูลชนิดคลาส
public class Student {
private String name;
public Student(String n) {
name = n;
}
public String getName() {
return name;
}
}
24/05/60
38
ตัวอย่ างโปรแกรมอะเรย์ ข้อมูลชนิดคลาส
public class TestClassArrays {
public static void main(String args[]) {
Student []s
= { new Student(“Thana”),
new Student(“Somchai”),
new Student(“Somsak”)};
for(int i=0; i<s.length; i++) {
System.out.print(s[i].getName()+"
");
}
}
}
ผลลัพธ์ทไ่ี ด้จำกกำรรันโปรแกรม
Thana
24/05/60
Somchai
Somsak
39
อะเรย์ สองมิติ
การประกาศตัวแปรอะเรย์ที่มีขนาดมากกว่าหนึ่งมิติทาได้โดยการเพิ่ม
เครื่ องหมาย [ ] ในแต่ละมิติ
รู ปแบบการประกาศตัวแปรอะเรย์สองมิตเิ ป็ นดังนี้
[modifier] dataType [][]variableName;
หรือ
[modifier] dataType variableName[][];
ตัวอย่างเช่น
int [][]x;
24/05/60
40
อะเรย์ สองมิติ
รู ปแบบการสร้ำงตัวแปรอะเรย์สองมิตเิ ป็ นดังนี้
variableName = new dataType[row][col];
ตัวอย่างเช่น
x = new int[3][4];
รู ปแบบกำรเรียกใช้สมำชิกของอะเรย์สองมิตเิ ป็ นดังนี้
variableName[row_number][col_number];
ตัวอย่างเช่น
x[2][3];
24/05/60
41
อะเรย์ สองมิติ
ลักษณะเป็ นตาราง
24/05/60
42
การสร้ างอะเรย์ สองมิติ
รูปแบบ
 ชนิดข้ อมูล[][] ตัวแปร = { อะเรย์ แถวแรก, อะเรย์ แถวที่สอง, ... };
ตัวอย่ าง
int[][] table = { { 1, 2, 3, 4},{ 5, 6, 7, 8}, { 9, 10, 11, 12}};
24/05/60
43
การระบุตาแหน่ งของตัวแปรในอาร์ เรย์ สองมิติ
24/05/60
44
การใช้ งานอาร์ เรย์ สองมิติ
ประกาศ
 int[][] table;
จองพื้นที่
 table = new int[3][4];
อ้างถึง




24/05/60
table[0][0] = 3;
table[0][1] = 5;
table[0][2] = 8;
table[0][3] = 7;
45
แต่ ละแถวของอะเรย์ สองมิตไิ ม่ จาเป็ นต้ องมีขนาดเท่ ากัน
24/05/60
46
ตัวอย่ างอาร์ เรย์ ที่แต่ ละแถวมีขนาดไม่ เท่ ากัน
int[][] twoD = { { 1,
{ 4,
{ 8,
2, 3},
5, 6, 7},
9, 10, 11, 12}};
System.out.println(twoD[1][2]);
24/05/60
47
LOGO
อะเรย์ สามมิติ
24/05/60
48
อะเรย์ สามมิติ
24/05/60
49
การระบุตาแหน่ งของตัวแปรในอาร์ เรย์ สามมิติ
ใช้อินเด็กซ์ 3 ตัว
รู ปแบบ
อำร์ เรย์ [แผ่ น][แถว][คอลัมน์ ]
24/05/60
50
ตัวอย่ างการระบุตาแหน่ งของตัวแปรในอาร์ เรย์ สามมิติ
int[][][] array
= {
{
{3,5,8,7},
{1,2,6,4},
{8,4,1,2}
},
{
{1,5,8,4},
{5,6,2,3},
{8,7,5,0}
อยู่ตาแหน่ งใดในอาร์ เรย์
},
{
{7,8,3,4},
{2,1,9,2},
{8,4,5,6}
}
};
System.out.println(array[1][2][3]);
24/05/60
51
LOGO
คลาส Arrays
24/05/60
52
เมธอดในคลาส java.util.Arrays
sort() ใช้เพื่อเรี ยงลาดับข้อมูลในอาร์เรย์
binarySearch() ใช้คน้ หาข้อมูลในอาร์เรย์
 ผลของการค้นหาคืออินเด็กซ์(ตาแหน่ง)ในอาร์เรย์
 ก่อนที่จะค้นหาเราต้องเรี ยงลาดับข้อมูลเสี ยก่อน
24/05/60
53
การเรียงจานวนเต็มโดยใช้ คลาส Arrays
java.util.Arrays.sort(score);
24/05/60
54
ตัวอย่ างการเรียงลาดับจานวนเต็ม
int[] score={45,5,87,13,24};
Arrays.sort(score);
หรื อ
int[] score={45,5,87,13,24};
java.util.Arrays.sort(score);
24/05/60
55
การเรียงวัตถุโดยใช้ คลาส Arrays
{"Jamies", "Amy", "Leo", "James"}
import java.util.Arrays;
...
Arrays.sort(names);
{"Amy", "James", "Jamies", "Leo"}
24/05/60
56
การเรียงวัตถุโดยใช้ คลาส Arrays
import java.util.Arrays;
Import คลาสอาร์ เรย์เข้ ามาใช้
public class SortString {
public static void main(String[] args) {
String[] names = { "Jamies", "Amy", "Leo", "James" };
Arrays.sort(names);
System.out.println(Arrays.asList(names));
}
}
24/05/60
พิมพ์ชื่อทั้งหมดในอาร์ เรย์
57
การเรียงชื่ อภาษาไทย (แบบผิด)
Arrays.sort(names);
วัตถุในคลาส String ไม่ ร้ ู จักวิธีการ
เปรียบเทียบคาในภาษาไทย ??!?
24/05/60
58
การเรียงชื่ อภาษาไทย
String[] names = { "อร", "เป็ ด", "กนก", "ป๊ อบ", "ไก่" };
java.text.Collator myCollator = java.text.Collator.getInstance();
Arrays.sort(names, myCollator);
สร้ างวัตถุทรี่ ้ ู จักการเรียงคาในภาษาไทย
System.out.println(Arrays.asList(names));
[กนก, ไก่, ป๊ อบ, เป็ ด, อร]
24/05/60
59
การค้ นหาโดยใช้ คลาส Arrays
เมธอด binarySearch( )
 ถ้าพบ จะส่งตำแหน่งที่พบกลับมำให้
 ถ้าไม่พบ จะส่งค่ำติดลบมำให้
24/05/60
60
ตัวอย่ างการค้ นหา
int[] id = {51, 3, 81, 20, 14};
Arrays.sort(id);
int index = Arrays.binarySearch(id, 51);
System.out.println(index);
24/05/60
61
สรุปเนื้อหาของบท
โดยทัว่ ไปโครงสร้างข้อมูลแบบอะเรย์จะถูกนามาใช้เมื่อต้องการเก็บข้อมูล
ชนิดเดียวกันหลายค่า แต่ใช้ตวั แปรอะเรย์ตวั เดียวกัน
อะเรย์แบ่งออกได้เป็ น 2 ประเภท คืออะเรย์ของข้อมูลชนิดพื้นฐานและอะเรย์
ของข้อมูลชนิดคลาส
ขั้นตอนในการสร้างอะเรย์ของข้อมูลชนิดพื้นฐานคือ การประกาศตัวแปร
อะเรย์ และการสร้างอะเรย์
ขั้นตอนในการสร้างอะเรย์ของข้อมูลชนิดคลาสคือ การประกาศตัวแปรอะเรย์
การสร้างอะเรย์ และการสร้างออปเจ็คให้กบั สมาชิกแต่ละตัวของอะเรย์
24/05/60
62
สรุปเนื้อหาของบท
ขนาดของอะเรย์ สามารถหาได้จากคุณลักษณะที่ชื่อว่า length
คาสัง่ for นิยมนามาใช้ในการอ้างถึงสมาชิกของอะเรย์
เราสามารถสร้างอะเรย์หลายมิติได้ โดยจานวนเครื่ องหมาย [ ]
บ่งบอกถึงจานวนมิติของอะเรย์
คลาส java.util.Arrays มีเมธอดที่ช่วยในการประมวลผลอาร์เรย์ เช่น การ
เรี ยงลาดับข้อมูล และการค้นหา
 การเรี ยงลาดับข้อมูลใช้เมธอด sort()
 การค้นหาใช้เมธอด binarySearch() ก่อนที่จะค้นหาต้อง sort() ก่อน
24/05/60
63
แบบฝึ กทักษะการเขียนโปรแกรม
1. สร้างอาร์เรย์เก็บข้อความขนาด 2 ตัว โดยตาแหน่งแรกให้เก็บชื่อ ตาแหน่ง
ที่สองนามสกุลของนักศึกษา และแสดงค่าอาร์เรย์น้ นั
2. เขียนโปรแกรมพิมพ์ค่าในอาร์เรย์ต่อไปนี้ {10,20,30,40,50}
3. จากข้อ 2 ให้แสดงค่าในอาร์เรย์จากขวาสุ ดไปซ้ายสุ ด
4. เขียนโปรแกรมเรี ยงลาดับค่าในอาร์เรย์ {20,10,40,50,30} จากน้อยไปมาก
5. หาผลรวมของอาร์เรย์ {20,10,40,50,30}
24/05/60
64
แบบทดสอบ
จงเขียนคาสั่ งเพื่อประกาศตัวแปรอาร์ เรย์ ตามคาอธิบายในแต่ ละข้ อต่ อไปนี้
1. ตัวแปรอาร์เรย์ 1 มิติชื่อ num เพื่อเก็บจานวนเต็ม 12 จานวน และกาหนดให้มีค่า
เริ่ มต้นดังนี้คือ 1,4,7,10,13,16,19,22,25,28,31,34
2. ตัวแปรอาร์เรย์ 2 มิติชื่อ x ขนาด 3x4 เพื่อเก็บตัวเลขทศนิยม
3. ตัวแปรอาร์เรย์ 1 มิติชื่อ str เพื่อเก็บข้อความ uttaradit
4. ตัวแปรอาร์เรย์ชื่อ account เพื่อเก็บ ข้อมูลทั้งรายรับและรายจ่ายประจาปี โดยแจก
แจงเป็ นเดือนตั้งแต่เดือนที่ 1 ถึงเดือนที่ 12
5. ตัวแปรอาร์เรย์ชื่อ volumn เพื่อเก็บข้อมูลยอดขายของพนักงานจานวน 20 คน โดย
แจกแจงเป็ นไตรมาสที่ 1 ถึงไตรมาสที่ 3
6. ตัวแปรอาร์เรย์ชื่อ vowel เพื่อเก็บตัวอักษรที่เป็ นสระ A,E,I,O,U
65
แบบทดสอบ
7. กาหนดอาร์ เรย์ต่อไปนี้
int[] num={ {1,2,3}, {4,5,6}, {7,8,9} }
เลข 5 อยูต่ าแหน่งใดในอาร์ เรย์
24/05/60
66
LOGO
24/05/60
67
Related documents