การใช้งานตัวแปลarrayเหมือนกับมีกล่องที่เอาไว้เก็บค่าต่างๆ
โดยเราสามารถกำหนดได้ว่ากล่องจะใหญ่แค่ไหนและแบ่งเป็นกี่ช่อง
ตัวอย่างการใช้arrayแบบ2x3
เราจะทำการเรียกใช้ช่องต่างๆในarrayได้เหมือนกับคู่อันดับ
โดยเลขข้างหน้าจะเป็นแกนy และด้านหลังเป็นแกนx
abc[0][0] คือช่องมุมซ้ายบนสุด โดยช่องถัดไปก้อคือ abc[0][1] และ abc[0][2]
แล้วเมื่อต้องการเรียกแถวที่สองก็ทำเหมือนกัน แถวที่2ช่องซ้ายสุดคือ abc[1][0]
การใช้ตัวแปรarrayจะใช้เมื่อเราต้องการเก็บข้อมูลหลายๆค่า
โดยเราสามารถนำมาเก็บในตัวแปรตัวเดียวได้ โดยarrayจะเก็บข้อมูลเป็นลำดับไปเรื่อยๆตั้งแต่0
การนำloopเข้ามาใช้ในตัวแปรarrayทำให้เราสามารถใช้งานarrayได้ดีขึ้น
โดยการป้อนข้อมูลหลายๆค่าใส่ลงในตัวแปรarrayเราจะนำการใช้loopมาใช้
ในการเรียกตำแหน่งต่างๆในตัวแปร เพื่อให้ง่ายต่อการเขียนคำสั่งในการรับค่า
ตัวอย่างการใช้loopในการเรียกใช้ข้อมูลในตัวแปรarray
for(i=0; i<3; i++) {
System.out.print(abc[i]);
}
ในการเขียนคำสั่งแบบนี้หมายความว่าprogramจะแสดงค่า
ของตัวแปร abc[i] ตั้งแต่ i=0 ถึง i=2
จะเห็นได้ว่าการใช้loopเข้ามาช่วยจะทำให้เราไม่ต้องเขียนคำสั่งหลายบรรทัด
ถ้าไม่ใช่loop
System.out.print(abc[0]);
System.out.print(abc[1]);
System.out.print(abc[2]);
// studScore.java import java.util.Scanner; public class studScore {     public static void main(String args[]) {        Scanner obj = new Scanner(System.in);        int i, j;        int studNum;        System.out.print("Student Number= ");        studNum = obj.nextInt();        String stud[][] = new String [studNum][4];        for(i=0; i< studNum; i++) {           for(j=0; j<1; j++) {              System.out.print("Name= ");              stud[i][j] = obj.next();           }           for(j=1; j<4; j++) {              System.out.print("Point"+j+"= ");              stud[i][j] = obj.next();          }       }        for(i=0; i< studNum; i++) {           for(j=0; j<1; j++) {              System.out.print("Name= ");              System.out.print(stud[i][j]);           }           for(j=1; j<4; j++) {              System.out.print(" Point"+j+"= ");              System.out.print(stud[i][j]);           }           System.out.println();        }        double sum = 0;        for(i=0; i< studNum; i++) {              for(j=1; j<4; j++) {                 sum += Double.parseDouble(stud[i][j]);              }        }        double max = 0;        double min = Double.POSITIVE_INFINITY;        for(i=0; i< studNum; i++) {           for(j=1; j<4; j++) {              if (max < (Double.parseDouble(stud[i][j]))) {                 max = Double.parseDouble(stud[i][j]);              }              if (min > (Double.parseDouble(stud[i][j]))) {                 min = Double.parseDouble(stud[i][j]);              }           }        }        System.out.println("Sum= " + sum);        System.out.println("Max= " + max);        System.out.println("Min= " + min);     } } |
DOWNLOAD : studScore.java
ในตอนแรกprogramจะรับค่า จำนวนนักเรียน จากkeyboardเข้ามาใส่ตัวแปร studNum
แล้วก็จะรับค่าต่างๆ:ชื่อนักเรียน, คะแนน1, คะแนน2, คะแนน3
เพื่อบันทึกลงในตัวแปล stud[][] แบบ array โดยความสูงของตารางarrayจะขึ้นอยู่กับจำนวนนักเรียนและความกว้างเท่ากับจำนวนข้อมูล
เมื่อprogramรับค่าทั้งหมดแล้วเก็บไว้ในตัวแปลครบหมดแล้ว
ก็จะคำนวณหา sum, max และ min โดยใช้loopเข้ามาช่วย
// run Student Number= 1 Name= abc Point1= 1 Point2= 2 Point3= 3 Name= abc Point1= 1 Point2= 2 Point3= 3 Sum= 6.0 Max= 3.0 Min= 1.0 |
ใส่จำนวนนักเรียน แล้วใส่คะแนนของแต่ละคน programจะหาแสดงผลข้อมูลที่ป้อนเข้าไป และคำนวณหาผลรวม ค่าต่ำสุด สูงสุด
// boxSum.java import java.util.Scanner; public class boxSum {   public static void main(String args[]) {     Scanner obj = new Scanner(System.in);        int i, j;        int box1[][] = new int [3][3];        int box2[][] = new int [3][3];        int box3[][] = new int [3][3];        for(i=0; i<3; i++) {           for(j=0; j<3; j++) {              System.out.print("box1["+i+"]["+j+"]= ");              box1[i][j] = obj.nextInt();           }        }        for(i=0; i<3; i++) {           for(j=0; j<3; j++) {              System.out.print("box2["+i+"]["+j+"]= ");              box2[i][j] = obj.nextInt();           }        }        for(i=0; i<3; i++) {           for(j=0; j<3; j++) {              box3[i][j] = box1[i][j] + box2[i][j];              System.out.print("box3["+i+"]["+j+"]= " + box3[i][j] + " ");           }           System.out.println();        }     } } |
DOWNLOAD : boxSum.java
// run box1[0][0]= 1 box1[0][1]= 2 box1[0][2]= 3 box1[1][0]= 4 box1[1][1]= 5 box1[1][2]= 6 box1[2][0]= 7 box1[2][1]= 8 box1[2][2]= 9 box2[0][0]= 1 box2[0][1]= 2 box2[0][2]= 3 box2[1][0]= 4 box2[1][1]= 5 box2[1][2]= 6 box2[2][0]= 7 box2[2][1]= 8 box2[2][2]= 9 box3[0][0]= 2 box3[0][1]= 4 box3[0][2]= 6 box3[1][0]= 8 box3[1][1]= 10 box3[1][2]= 12 box3[2][0]= 14 box3[2][1]= 16 box3[2][2]= 18 |
ป้อนข้อมูลเพื่อเก็บค่าในตาราง3x3ทั้ง2ตาราง programจะคำนวณหาผลบวกของแต่ละช่องของตารางแล้วแสดงผลในตารางที่3
No comments:
Post a Comment