SlideShare uma empresa Scribd logo
1 de 18
Baixar para ler offline
Advanced Statements and Applications - 09                                 Computer Programming using Java                 113
  CHAPTER                              คําสังแบบซับซ้อนและการประย ุกต์
                                            ่
      09                             (Advanced Statements and Applications)
1. คําสั่งตัดสินใจแบบซับซ้ อน (Advanced Decision Statements)
1. รปแบบของคําสั่งตัดสินใจแบบซับซ้ อน ประกอบไปด้ วย 2 รูปแบบคือ
    ู
   1) คําสั่งตัดสินใจที่ซ้อนกันหลายชัน ในบทนี ้ได้ แก่คําสัง if-else ซ้ อน if-else (Nested If-Else) ซึงได้
                                       ้                   ่                                            ่
      กล่าวไปบ้ างแล้ วในบทที่ 3 และมีรายละเอียดเพิ่มเติมตามหัวข้ อที่ 2
   2) คําสั่งตัดสินใจแบบหลายเงื่อนไข ในบทนี ้ได้ แก่คาสัง if-else ที่มีเงื่อนไขหลายๆ เงื่อนไขเชื่อมเข้ ากัน
                                                        ํ ่
      ด้ วยตัวดําเนินการตรรกะ (Logical Operators) โดยมีรายละเอียดตามหัวข้ อที่ 3

2. คําสั่ง if-else ซ้ อน if-else (Nested If-Else)
     1     if (Condition1) {
     2       Statement1;                                          if (Condition1) {
     3     } else {                                                 Statement1;
     4       if (Condition2) {
     5         Statement2;                                        } else if (Condition2) {
     6       } else {                                               Statement2;
     7         if (Condition3) {
     8           Statement3;                                      } else if (Condition3) {
     9         } else {                                             Statement3;
     10                  .
                         .
     11                  .                                                .
                                                                          .
     12                } else {                                           .
     13                  StatementN;
                                                                  } else {
     14                }
     15                                                             StatementN;
                   }
     16                                                           }
               }
     17    }                                                                        สามารถตัดคําสัง else ออกไปได้
                                                                                                  ่

3. คําสั่ง if-else แบบหลายเงื่อนไข
     1     if (Condition1 && Condition2 || Condition3 &&...|| ConditionN) {
     2       Statement1;
     3       Statement2;
     4             .                   เรี ยกเงื่อนไขทังหมดภายในคําสัง if ว่า นิพจน์ ตรรกะ
                                                       ้             ่
     5
                   .
                   .
     6         StatementM-1;            ใช้ เครื่ องหมาย && หรื อเครื่ องหมาย || เพื่อเชื่อมเงื่อนไขต่างๆ เข้ าด้ วยกัน
     7         StatementM;
     8     }



โจทย์ ข้อที่ 1 [ระดับง่ าย] จงเขียนนิพจน์ ตรรกะตามหลักของภาษาจาวาจากเงื่อนไขต่ อไปนี ้ (10 คะแนน)
1) ตัวแปร n เป็ นจํานวนเต็มบวกค่ ูท่ ไม่ เกิน 3 หลัก แต่ ไม่ เท่ ากับ 12 และ 112 (2 คะแนน)
                                       ี




© สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์)
                                            ้
114   Computer Programming using Java                          09 - Advanced Statements and Applications


  2) ตัวแปร n เป็ นจํานวนเต็มบวกที่มี 3 เป็ นตัวร่ วมหรือมี 5 เป็ นตัวร่ วม แต่ ค่าไม่ เกิน 100 (2 คะแนน)



  3) ตัวแปร m เป็ นหมายเลขเดือนที่ลงท้ ายด้ วยคําว่ ายน (2 คะแนน)



  4) ตัวแปร m เป็ นหมายเลขเดือนที่ไม่ ใช่ เดือนกุมภาพันธ์ (2 คะแนน)



  5) ตัวแปร s เป็ นคําที่เขียนว่ า "Yes' หรื อ "Y" โดยไม่ สนใจอักษรตัวพิมพ์ ใหญ่ และพิมพ์ เล็ก (2 คะแนน)




  โจทย์ ข้อที่ 2 [ระดับปานกลาง] จงเขียนเมท็อด getDaysOfMonth(…) ที่สมบรณ์ เพื่อรั บเดือนและปี ค.ศ.
                                                                                  ู
  เข้ ามาทางพารามิเตอร์ โดยให้ คํานวณและคืนค่ าจํานวนวันจากหมายเลขเดือนและปี ค.ศ. ที่ระบุ เช่ น
  เดือนที่ 1 คืนค่ า 31 เดือนที่ 6 คืนค่ า 30 เป็ นต้ น แต่ ถ้าหมายเลขเดือนไม่ ถูกต้ องให้ คืนค่ า 0 โดยในการ
  คํานวณจะต้ องตรวจสอบปี อธิกสุรทิน (Leap Year) ที่เดือนกุมภาพันธ์ มี 29 วันด้ วย ซึ่งปี อธิกสุรทินคือปี
  ค.ศ. ที่หาร 4 ลงตัวแต่ หาร 100 ไม่ ลงตัว หรื อปี ค.ศ. ที่หาร 400 ลงตัว (10 คะแนน)




  © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์)
                                              ้
Advanced Statements and Applications - 09                          Computer Programming using Java          115
โจทย์ ข้อที่ 3 [ระดับปานกลาง] จงเขียนเมท็อด getSize(…) ที่รับตัวเลขจํานวนเต็มจากพารามิเตอร์ ในชื่อ
n แล้ วทําการตรวจสอบค่ า n ดังต่ อไปนี ้ (10 คะแนน)
1) ถ้ า n >= 0 ให้ หาค่ ารากที่สองของ n แล้ วเก็บไว้ ในตัวแปร m และนําค่ า m มาจัดกลุ่มดังนี ้
   (1) ถ้ า 0 <= m <= 5 ให้ แสดงค่ า m และหาค่ า 2 เท่ าของ m แล้ วพิจารณาดังนี ้
             ถ้ ามีค่ามากกว่ า 7 ให้ คืนค่ า "Little"
             นอกเหนือจากนันให้ คนค่ า "Undefined"
                               ้      ื
   (2) ถ้ า 5 < m <= 10 ให้ แสดงค่ า m และหาค่ า 3 เท่ าของ m แล้ วพิจารณาดังนี ้
             ถ้ ามีค่ามากกว่ า 22 ให้ คนค่ า "Medium"
                                            ื
             นอกเหนือจากนันให้ คนค่ า "Undefined"
                                 ้      ื
   (3) ถ้ า 10 < m <= 25 ให้ แสดงค่ า m และหาค่ า 4 เท่ าของ m แล้ วพิจารณาดังนี ้
             ถ้ ามีค่ามากกว่ า 80 ให้ คนค่ า "Very Big"
                                              ื
             ถ้ ามีค่ามากกว่ า 60 แต่ ไม่ เกิน 80 ให้ คืนค่ า "Big"
             นอกเหนือจากนันให้ คนค่ า "Undefined"
                                   ้      ื
   (4) ถ้ า 25 < m ให้ แสดงค่ า m และคืนค่ า "Giant"
2) ถ้ า n < 0 ให้ แสดงค่ า n และคืนค่ า "Negative"




© สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์)
                                            ้
116    Computer Programming using Java                         09 - Advanced Statements and Applications


  โจทย์ ข้อที่ 4 [ระดับปานกลาง] จงเขียนเมท็อด isEngStudent(…) ที่รับสตริงที่เป็ นเลขประจําตัวนิสิต
  ยาว 10 หลักเท่ านัน และตัวเลขจํานวนเต็มที่เป็ นรหัสวิชาใดวิชาหนึ่งยาว 7 หลักเท่ านัน เข้ ามาทาง
                        ้                                                               ้
  พารามิเตอร์ เพื่อใช้ ในการตรวจสอบว่ าใช่ นิสิตชันปี ที่ 1 ระดับปริ ญญาตรี คณะวิศวกรรมศาสตร์ หรื อไม่
                                                  ้
  และเป็ นนิสิตที่ลงทะเบียนเรี ยนในรายวิชาที่เปิ ดสอนสําหรั บชันปี ที่ 1 สอนโดยคณะวิศวกรรมศาสตร์
                                                                 ้
  หรื อไม่ โดยมีหลักเกณฑ์ ในการตรวจสอบดังนี ้ (10 คะแนน)
      1     2   3                        9   10           1    2             5

      5    4    3   0   8   1   9   5    2    1           2   1    1    0    1   9    1

                 เลขประจําตัวนิสิต                                  รหัสวิชา
  1)      ตัวเลขหลักที่ 1-2 ของเลขประจําตัวนิสิต หมายถึง ปี การศึกษาที่เริ่มเข้ าเรียน
  1)      ตัวเลขหลักที่ 3 ของเลขประจําตัวนิสิต หมายถึง ระดับการศึกษา โดยเลข 3 คือระดับปริญญาตรี
  2)      ตัวเลขหลักที่ 9-10 ของเลขประจําตัวนิสิต หมายถึง รหัสคณะ โดยรหัส 21 คือคณะวิศวกรรมศาสตร์
  3)      ตัวเลขหลักที่ 1-2 ของรหัสวิชา หมายถึง รหัสคณะ โดยรหัส 21 คือคณะวิศวกรรมศาสตร์
  4)      ตัวเลขหลักที่ 5 ของรหัสวิชา หมายถึง ชันปี โดยเลข 1 คือชันปี ที่ 1
                                                ้                 ้




  2. คําสั่งวนซําแบบซับซ้ อน (Advanced Iteration Statements)
                ้
  1. รปแบบของคําสั่งวนซําแบบซับซ้ อน ประกอบไปด้ วย 2 รูปแบบคือ
      ู                    ้
     1) คําสั่งวนซําที่ซ้อนกันหลายชัน ในบทนี ้ได้ แก่คําสัง for ซ้ อน for (Nested For) หรื อคําสัง while ซ้ อน
                   ้                 ้                    ่                                      ่
        while (Nested While) หรื อคําสัง for ซ้ อน while (Nested Loops) เป็ นต้ น ซึงได้ กล่าวไปบ้ างแล้ วใน
                                        ่                                              ่
        บทที่ 4 และมีรายละเอียดเพิ่มเติมตามหัวข้ อที่ 2
  © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์)
                                              ้
Advanced Statements and Applications - 09                                     Computer Programming using Java                 117
      2) คําสั่งวนซําแบบหลายตัวควบคุม ในบทนี ้ได้ แก่คําสัง for หรื อคําสัง while ที่มีหลายตัวควบคุม (ตัว
                     ้                                       ่                ่
         แปรที่ใช้ ในการวนซํ ้า) และหลายเงื่อนไข โดยรายละเอียดตามหัวข้ อที่ 3
2. คําสั่งวนซําที่ซ้อนกันหลายชัน มีหลักการทํางานดังนี ้
              ้                ้                                                             ภายในคําสัง for แต่ละชัน
                                                                                                        ่               ้
       1     for (Initial1; Condition1; Update1) {                                           สามารถเพิ่มคําสังต่างๆ เข้ าไป
                                                                                                             ่
       2       for (Initial2; Condition2; Update2) {                                         ในชันนันๆ ได้
                                                                                                 ้ ้
       3         for (Initial3; Condition3; Update3) {
       4                 ...
       5                  for (InitialN; ConditionN; UpdateN) {
                            Statements;
       6
                          }                                                                  จํานวนรอบทังหมดของคําสัง
                                                                                                         ้            ่
       7
       8             }         ถ้ าตัวแปรที่เป็ นตัวควบคุมในคําสัง for ชันแรก มีการ
                                                                 ่        ้                  for ซ้ อน for คํานวนได้ จาก
       9         }
       10    }                 นําไปใช้ งานต่อเนื่องในคําสัง for ชันที่ 2 หรื อชันต่อๆ
                                                           ่        ้            ้           การนําจํานวนรอบของแต่ละ
                               ไป จะไม่สามารถนับจํานวนรอบโดยการคูณได้                        for มาคูณกัน


      1) เริ่ มทํางานจากคําสัง for ชันนอกสุดแล้ วค่อยวนเข้ าไปทํางานในคําสัง for ชันถัดไปภายใน และจะวน
                               ่      ้                                         ่        ้
         ทํางานแบบนี ้ไปเรื่ อยๆ จนถึงคําสัง for ชันในสุด
                                           ่        ้
      2) เมื่อทํางานในคําสัง for ชันในสุดเสร็ จสิ ้นแล้ ว จะวกกลับมายังคําสัง for ชันถัดขึ ้นมา แล้ วทํางานในคําสัง
                             ่     ้                                         ่      ้                             ่
         for ชันนันจนจบ จึงจะวกกลับขึ ้นมาทํางานในคําสัง for แต่ละชันไปเรื่ อยๆ จนถึงคําสัง for ชันนอกสุด
                  ้ ้                                        ่             ้                    ่        ้
      3) การวนซํ ้าจะทํางานตามข้ อ 1-2 ไปเรื่ อยๆ จนกว่าเงื่อนไขของคําสัง for ในแต่ละชันจะเป็ นเท็จ (ครบรอบ)
                                                                         ่                  ้
โจทย์ ข้อที่ 5 [ระดับง่ าย] จงแสดงรายละเอียดและความสัมพันธ์ ของค่ า i,                       j, k   และ sum ตามตารางที่
กําหนดให้ แล้ วตอบคําถามจากส่ วนของโปรแกรมต่ อไปนี ้ (10 คะแนน)
  1      for (int i = 1; i <= 2; i++) {                                  i               j             k             sum
  2        for (int j = 8; j >= 5; j--) {
  3          for (int k = 3; k < 5; k++) {
  4            int sum = i + j + k;
  5          }
  6        }
  7      }


1) จงหาจํานวนรอบทังหมดในการทํางาน
                  ้


2) จงหาค่ าสงสุดของ sum และค่ า i, j และ k
            ู
   ณ ขณะที่ค่า sum เป็ นค่ าสงสุด
                             ู


3) จงหาค่ าตํ่าสุดของ sum และค่ า i, j และ k
   ณ ขณะที่ค่า sum เป็ นค่ าตํ่าสุด



© สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์)
                                            ้
118   Computer Programming using Java                          09 - Advanced Statements and Applications


  โจทย์ ข้อที่ 6 [ระดับปานกลาง] จงแสดงผลลัพธ์ จากโปรแกรมพร้ อมทังตอบคําถามต่ อไปนี ้ (8 คะแนน)
                                                                ้
      1     public static void loopXYZ(int x, int y, int z) {                     loopXYZ(2, 7, 1);
      2       for (int i = x; i < 5; i++)
      3         for (int j = y; j > 2 * i; --j)
      4           for (int k = z; k <= 1; k++)
      5             System.out.println(i + "," + j + "," + k);
      6       System.out.println("i = " + i);
      7       System.out.println("j = " + j);
      8       System.out.println("k = " + k);
      9     }


  จงหาจํานวนรอบทังหมดในการทํางาน
                 ้



  โจทย์ ข้อที่ 7 [ระดับปานกลาง] จงเขียนเมท็อด formulaAtoB(…) ที่สมบรณ์ เพื่อใช้ ในการพิมพ์ สูตรคณ
                                                                         ู                          ู
  ตังแม่ ท่ ี a จนถึงแม่ ท่ ี b ขึนบนจอภาพ เช่ น formulaAtoB(4, 9) จะพิมพ์ สูตรคณตังแต่ แม่ 4 จนถึงแม่
    ้                             ้                                             ู ้
  9 บนจอภาพ เป็ นต้ น พร้ อมทังระบุเส้ นแบ่ งของแต่ ละแม่ ด้วย (10 คะแนน)
                                     ้                                                  4 x 1 = 4
                                                                                               4 x 2 = 8
                                                                                               4 x 3 = 12
                                                                                               ...
                                                                                               4 x 11 = 44
                                                                                               4 x 12 = 48
                                                                                               ------------
                                                                                               5 x 1 = 5
                                                                                               5 x 2 = 10
                                                                                               ...




  โจทย์ ข้อที่ 8 [ระดับปานกลาง] จงเขียนเมท็อด showBarGraph(…) ที่สมบรณ์ เพื่อวนวิ่งตัวเลขตังแต่ 1
                                                                              ู                    ้
  จนถึงค่ า x และตังแต่ ค่า y จนถึง 1 โดยที่ตัวแปร x และ y จะรั บเข้ ามาทางพารามิเตอร์ ซึ่ง ณ ขณะที่ได้
                       ้
  ค่ า x และ y สองค่ าใดๆ ให้ แสดงกราฟแท่ งที่มีความยาวเท่ ากับผลคณของสองตัวเลขนัน ดังตัวอย่ าง
                                                                           ู                 ้
  ต่ อไปนี ้ พร้ อมทังเรี ยกใช้ งานเมท็อดเพื่อแสดงกราฟแท่ งตามตัวอย่ างทัง 3 แบบที่ให้ มา (15 คะแนน)
                     ้                                                   ้
      1,2   || 2       x = 5            1,4   |||| 4      x = 3             1,6   |||||| 6   x = 2
      1,1   | 1        y = 2            1,3   ||| 3       y = 4             1,5   ||||| 5    y = 6
      2,2   |||| 4                      1,2   || 2                          1,4   |||| 4
      2,1   || 2                        1,1   | 1                           1,3   ||| 3
      3,2   |||||| 6                    2,4   |||||||| 8                    1,2   || 2
      3,1   ||| 3                       2,3   |||||| 6                      1,1   | 1
      4,2   |||||||| 8                  2,2   |||| 4                        2,6   |||||||||||| 12
      4,1   |||| 4                      2,1   || 2                          2,5   |||||||||| 10
      5,2   |||||||||| 10               3,4   |||||||||||| 12               2,4   |||||||| 8
      5,1   ||||| 5                     3,3   ||||||||| 9                   2,3   |||||| 6
                                        3,2   |||||| 6                      2,2   |||| 4
                                        3,1   ||| 3                         2,1   || 2


  © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์)
                                              ้
Advanced Statements and Applications - 09                                Computer Programming using Java             119
public class BarGraph {
  public static void main(String[] args) {




   } //End of main

   //showBarGraph(…)




} //End of class


โจทย์ ข้อที่ 9 [ระดับยาก] จงเขียนเมท็อด calEquation(…) ที่สมบรณ์ เพื่อใช้ สําหรั บคํานวณหาคําตอบ
                                                                               ู
ของสมการ s = 17x 9 yz 8 + 15x 8 y 2 z 7 + 13x 7 y 3 z 6 + 11x 6 y 4 z 5 + ... + xy 9 z 0 แล้ วคืนค่ า s ที่เป็ นคําตอบ
ในทุกๆ รอบกลับมา โดยมีข้อกําหนดดังต่ อไปนี ้
1) ค่ า x เริ่มต้ นที่ 1 จนถึง a โดยค่ าจะเพิ่มขึนครังละ 1 โดยที่ a เป็ นค่ าที่รับมาจากพารามิเตอร์
                                                 ้ ้
2) ค่ า y เริ่มต้ นที่ 5 จนถึง b โดยค่ าจะเพิ่มขึนครังละ 5 โดยที่ b เป็ นค่ าที่รับมาจากพารามิเตอร์
                                                  ้ ้
3) ค่ า z เริ่มต้ นที่ 12 จนถึง c โดยค่ าจะลดลงครั งละ 2 โดยที่ c เป็ นค่ าที่รับมาจากพารามิเตอร์
                                                    ้
ในการประมวลผล กําหนดให้ x ถกพิจารณาก่ อน y และ y ถกพิจารณาก่ อน z โดยจะวนทํางานซ้ อนกัน
                                     ู                       ู
เป็ นชันๆ และให้ เรี ยกใช้ เมท็อดนีท่ ีเมท็อด main(…) โดยให้ ค่าของพารามิเตอร์ ทุกตัวเป็ น 10 พร้ อมทัง
       ้                           ้                                                                  ้
แสดงผลลัพธ์ ท่ ได้ ขนบนจอภาพให้ สวยงาม (15 คะแนน)
               ี ึ้
© สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์)
                                            ้
120   Computer Programming using Java                          09 - Advanced Statements and Applications


  import java.util.Scanner;
  public class TheEquation {
    //calEquation(…)




      public static void main(String[] args) {




    } //End of main
  } //End of class

  3. คําสั่งวนซําแบบหลายตัวควบคุม
                ้
     1) คําสั่ง for แบบหลายตัวควบคุมและหลายเงื่อนไข                       เรี ยก Initial1 ว่าตัวควบคุมตัวที่ 1
            1    for (Initial1, Initial2, Initial3,...;
            2         Condition1 && Condition2 || Condition3 && ...;
            3         Update1, Update2, Update3, ...) {
            4            .
                         .
            5            .           Initial แต่ละตัวคันด้ วย Comma, Condition แต่ละตัวเชื่อมด้ วย Logical
                                                       ่
            6    }
                                     Operators, Update แต่ละตัวคันด้ วย Comma
                                                                 ่

  © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์)
                                              ้
Advanced Statements and Applications - 09                            Computer Programming using Java         121
     2) คําสั่ง while แบบหลายตัวควบคุมและหลายเงื่อนไข
         1     Initial1, Initial2, Initial3,...;
         2     while (Condition1 && Condition2 || Condition3 && ...) {
         3             .
                       .
         4             .
         5          Update1; Update2; Update3; ...;
         6     }
                                   Initial   แต่ละตัวคันด้ วย Comma, Condition แต่ละตัวเชื่อมด้ วย Logical
                                                       ่
                                   Operators, Update แต่ละตัวคันด้ วย Semicolon
                                                                ่

โจทย์ ข้อที่ 10 [ระดับง่ าย] จงหาผลลัพธ์ จากส่ วนของโปรแกรมและตอบคําถามต่ อไปนี ้ (8 คะแนน)
 1     public static void iterABC(int a, int b, int c) {                       iterABC(1, 15, 2);
 2       while (a <= 5 && b > 3 || c >= 0) {
 3         System.out.println(a + "t" + b + "t" + c);
 4         a++;
 5         b--;
 6         if ((a + b) % 2 == 0) c--;
 7       }
 8     }


จงหาจํานวนรอบทังหมดในการทํางาน
               ้



โจทย์ ข้อที่ 11 [ระดับง่ าย] จงหาผลลัพธ์ จากส่ วนของโปรแกรมและตอบคําถามต่ อไปนี ้ (8 คะแนน)
 1     for (int i = 0, j = 10; i < 10 && j > 0; i++, j--) {
 2       if (i == j / 2) break;
 3       System.out.println(i);
 4       if (j % 2 != 0) continue;
 5       System.out.println(j);
 6       if (i * 4 == j)                    คําสั่ง continue เป็ น
 7       System.out.println(i + "," + j);   คําสั่งที่วกกลับขึนไปยัง
                                                              ้
 8     }
                                                         ต้ น Loop
จงหาจํานวนรอบทังหมดในการทํางาน
               ้



โจทย์ ข้อที่ 12 [ระดับยาก] จงเขียนเมท็อด toStringCalculation(…) ที่สมบรณ์ เพื่อรั บค่ าตัวแปร a, b
                                                                                   ู
และ c ที่เป็ นจํานวนเต็มเข้ ามาทางพารามิเตอร์ เพื่อใช้ เป็ นค่ าเริ่มต้ นของตัวแปรควบคุมวงวน (Loop) x,
y และ z ตามลําดับ พร้ อมทังรั บค่ าตัวแปร p, q และ r อีกหนึ่งโดยการเรี ยกใช้ เมท็อด inputNumber(…)
                                ้
เพื่อนํามาเป็ นค่ าที่เพิ่มขึนในแต่ ละรอบของตัวแปรควบคุมข้ างต้ นตามลําดับ โดยค่ าทังหมดนีถูกใช้ เพื่อ
                             ้                                                                ้          ้
คํานวณหาคําตอบของสมการ s = 10x 10 yz 10 + 9x 9 y 2 z 12 + 8x 8 y 3 z 14 + 7x 7 y 4 z 16 + ... + xy 10 z 28 และ
กําหนดให้ ใช้ คาสั่ง for แบบ 3 ตัวควบคุม x, y และ z โดยจะมีการหยุดรอบเมื่อ x + y + z มากกว่ า
                ํ
หรื อเท่ ากับ 1000 และให้ คืนค่ าผลลัพธ์ ของ x, y, z และ s ในแต่ ละรอบให้ ครบถ้ วน (15 คะแนน)
© สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์)
                                            ้
122   Computer Programming using Java                          09 - Advanced Statements and Applications


  import java.util.Scanner;
  import java.util.io.*;
  public class Calculation {
    //toStringCalculation(…)




        public static int inputNumber(String s) {
          Scanner kb = new Scanner(System.in);
          System.out.print("Enter " + s + ": ");
          return kb.nextInt();
        }


      //เรียกใช้ เมท็อด toStringCalculation(…) ที่เมท็อด main(…) ให้ ถูกต้ องสมบรณ์ โดยกําหนดให้ ค่า
                                                                                ู
      ของพารามิเตอร์ ทงสามเป็ น 10, 20 และ 30 ตามลําดับ
                         ั้
      public static void main(String[] args) {




    } //End of main
  } //End of class
  © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์)
                                              ้
Advanced Statements and Applications - 09                              Computer Programming using Java             123
3. การประยุกต์ ใช้ คาสั่งแบบซับซ้ อน (Applications of Advanced Statements)
                    ํ
1) คําสังตัดสินใจแบบซับซ้ อนและคําสังวนซํ ้าแบบซับซ้ อนสามารถทํางานร่วมกันได้ เช่น คําสัง for ซ้ อน for
        ่                           ่                                                   ่
   หรื อ for ซ้ อน while ที่ภายในอาจมีคําสัง if-else ซ้ อน if-else แทรกอยู่ เป็ นต้ น
                                           ่
     1     for (Initial1; Condition1; Update1) {
     2       for (Initial2; Condition2; Update2) {                         มีคําสัง for ซ้ อน for ทังหมด 2 ชัน
                                                                                  ่                 ้        ้
     3         if (Condition3) Statement;
     4         else if (Condition4) Statement;                             ซึงภายในคําสัง for ชันในสุดมีคําสัง
                                                                             ่           ่       ้             ่
     5         else Statement;                                             if-else ซ้ อน if-else แทรกอยู่
     6       }
     7     }                                                               อีกชันหนึง
                                                                                ้ ่

2) โปรแกรมประยุกต์สวนใหญ่หลีกหนีไม่พ้นที่จะใช้ คําสังเหล่านี ้ในการประมวลผล ดังนันเราจึงควรฝึ กเขียนคําสัง
                       ่                              ่                          ้                       ่
   แบบซับซ้ อนเหล่านี ้ให้ เกิดความชํานาญให้ มากที่สด
                                                    ุ

โจทย์ ข้อที่ 13 [ระดับง่ าย - ระดับยาก] จงเขียนเมท็อด starXX(…) ให้ สมบรณ์ โดยรั บจํานวนเต็มหนึ่งค่ า
                                                                        ู
มาทางพารามิเตอร์ เพื่อแสดงรปเลขาคณิตต่ างๆ ตามที่โจทย์ กาหนด โดยอนุญาตให้ ใช้ เพียงคําสั่งต่ อไป-
                                ู                           ํ
นีเ้ ท่ านันในการแสดงผล ได้ แก่ คําสั่ง System.out.print("*"); คําสั่ง System.out.println("*");
           ้
คําสั่ง System.out.print(" "); และคําสั่ง System.out.println(); (80 คะแนน : ข้ อละ 8 คะแนน)
public class Shape {
  public static void starA(int n) {                     [ระดับง่ าย]                            starA(11)
                                                                                                ***********
                                                                                                ***********
                                                                                                ***********
                                                                                                ***********
                                                                                                ***********
                                                                                                ***********
                                                                                                ***********
                                                                                                ***********
                                                                                                ***********
                                                                                                ***********
                                                                                                ***********


   } //End of method
  public static void starB(int n) {                     [ระดับง่ าย]                            starB(11)
                                                                                                *
                                                                                                **
                                                                                                ***
                                                                                                ****
                                                                                                *****
                                                                                                ******
                                                                                                *******
                                                                                                ********
                                                                                                *********
                                                                                                **********
                                                                                                ***********


   } //End of method

© สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์)
                                            ้
124   Computer Programming using Java                          09 - Advanced Statements and Applications


      public static void starC(int n) {                   [ระดับง่ าย]                       starC(11)
                                                                                             ***********
                                                                                             **********
                                                                                             *********
                                                                                             ********
                                                                                             *******
                                                                                             ******
                                                                                             *****
                                                                                             ****
                                                                                             ***
                                                                                             **
                                                                                             *


      } //End of method
      public static void starD(int n) {                   [ระดับปานกลาง]                     starD(11)
                                                                                                       *
                                                                                                      **
                                                                                                     ***
                                                                                                    ****
                                                                                                   *****
                                                                                                  ******
                                                                                                 *******
                                                                                                ********
                                                                                               *********
                                                                                              **********
                                                                                             ***********




      } //End of method
      public static void starE(int n) {                   [ระดับปานกลาง]                     starE(11)
                                                                                             ***********
                                                                                              **********
                                                                                               *********
                                                                                                ********
                                                                                                 *******
                                                                                                  ******
                                                                                                   *****
                                                                                                    ****
                                                                                                     ***
                                                                                                      **
                                                                                                       *




      } //End of method
  © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์)
                                              ้
Advanced Statements and Applications - 09                          Computer Programming using Java          125
  public static void starF(int n) {                     [ระดับปานกลาง]                     starF(11)
                                                                                           ***********
                                                                                           *         *
                                                                                           *         *
                                                                                           *         *
                                                                                           *         *
                                                                                           *         *
                                                                                           *         *
                                                                                           *         *
                                                                                           *         *
                                                                                           *         *
                                                                                           ***********




   } //End of method
  public static void starG(int n) {                     [ระดับปานกลาง]                     starG(11)
                                                                                           ***********
                                                                                           **       **
                                                                                           * *     * *
                                                                                           * *    * *
                                                                                           *   * *   *
                                                                                           *    *    *
                                                                                           *   * *   *
                                                                                           * *    * *
                                                                                           * *     * *
                                                                                           **       **
                                                                                           ***********




   } //End of method
  public static void starH(int n) {                     [ระดับยาก]                         starH(6)
                                                                                                *
                                                                                               ***
                                                                                              *****
                                                                                             *******
                                                                                            *********
                                                                                           ***********




   } //End of method
© สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์)
                                            ้
126   Computer Programming using Java                          09 - Advanced Statements and Applications


      public static void starI(int n) {                   [ระดับยาก]                         starI(11)
                                                                                             ***********
                                                                                              *********
                                                                                               *******
                                                                                                *****
                                                                                                 ***
                                                                                                  *
                                                                                                 ***
                                                                                                *****
                                                                                               *******
                                                                                              *********
                                                                                             ***********




      } //End of method
      public static void starJ(int n) {                   [ระดับยาก]                         starJ(11)
                                                                                             *         *
                                                                                             **       **
                                                                                             ***     ***
                                                                                             ****   ****
                                                                                             ***** *****
                                                                                             ***********
                                                                                             ***** *****
                                                                                             ****   ****
                                                                                             ***     ***
                                                                                             **       **
                                                                                             *         *




      } //End of method

      //เรียกใช้ เมท็อดต่ างๆ ก่ อนหน้ านี ้ โดยเลือกเพียง 4 เมท็อดเท่ านัน (0 คะแนน ถ้ าไม่ ทา -5 คะแนน)
                                                                          ้                   ํ
      public static void main(String[] args) {




    } //End of main
  } //End of class

  © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์)
                                              ้
Advanced Statements and Applications - 09                          Computer Programming using Java          127
โจทย์ ข้อที่ 14 [ระดับยาก] จงเขียนเมท็อด revWords(…) ที่สมบรณ์ เพื่อเปิ ดอ่ านแฟมข้ อมลตามชื่อแฟม
                                                           ู                    ้     ู         ้
ที่ระบุจากพารามิเตอร์ โดยจะอ่ านประโยคทีละบรรทัดแล้ วกลับตัวอักขระภายในคํา (Words) ใดๆ ทุกคํา
ของประโยคนัน โดยไม่ ต้องสลับตําแหน่ งของคํา เช่ น "We love you" จะได้ เป็ น "eW evol uoy" เป็ น
                ้
ต้ น พร้ อมทังแสดงผลลัพธ์ ท่ ได้ ออกทางจอภาพ (15 คะแนน)
              ้              ี
                 message.txt                                   ตัวอย่ างการแสดงผลบนจอภาพ
 I Love        Java Programming                       I evoL        avaJ gnimmargorP
 This is My First Program                             sihT si yM tsriF margorP
 And It also is my   LAST Program                     dnA tI osla si ym   TSAL margorP
 ...                                                  ...




โจทย์ ข้อที่ 15 [ระดับเทพ] จงเขียนโปรแกรมภาษาจาวาให้ สมบรณ์ เพื่อสร้ างเมท็อดที่ใช้ สําหรั บประมวล
                                                             ู
ผลและดําเนินการเกี่ยวกับอาเรย์ ท่ ีมีสมาชิกทุกตัวเป็ นตัวเลขจํานวนเต็ม ตามรายละเอียดของเมท็อด
ดังต่ อไปนี ้ โดยกําหนดให้ เมท็อดแต่ ละเมท็อดสามารถเรียกใช้ งานซึ่งกันและกันได้ (50 คะแนน)
import java.util.Scanner;
public class OperationsOfArrays {
    //จงเขียนเมท็อด removeDuplicatedMembers(…) เพื่อรั บอาเรย์ หนึ่งตัวใดๆ จากพารามิเตอร์ แล้ ว
    ทําการตัดสมาชิกตัวที่ซากันออกจากอาเรย์ แล้ วคืนค่ าอาเรย์ ตวใหม่ นัน (10 คะแนน)
                          ํ้                                   ั       ้
© สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์)
                                            ้
128   Computer Programming using Java                          09 - Advanced Statements and Applications




       //จงเขียนเมท็อด unionArray(…) เพื่อรั บอาเรย์ สองตัวใดๆ จากพารามิเตอร์ แล้ วทําการหาค่ าสมา-
       ชิกที่ปรากฎอย่ ูในอาเรย์ ตัวที่หนึ่ งหรื ออาเรย์ ตัวที่สอง (ปรากฎที่ อาเรย์ ใดอาเรย์ หนึ่ งหรื อทังสอง
                                                                                                         ้
       อาเรย์ ก็ได้ ) เก็บไว้ ในอาเรย์ ตวใหม่ แล้ วคืนค่ าอาเรย์ ตวใหม่ นัน (10 คะแนน)
                                        ั                         ั       ้




       //จงเขียนเมท็อด intersectArray(…) เพื่อรั บอาเรย์ สองตัวใดๆ จากพารามิเตอร์ แล้ วทําการหาค่ า
       สมาชิกที่ปรากฎอย่ ในอาเรย์ ตวที่หนึ่งและอาเรย์ ตวที่สอง (ต้ องปรากฎอย่ ทงสองอาเรย์ ) เก็บไว้ ในอา-
                           ู             ั               ั                    ู ั้
       เรย์ ตวใหม่ แล้ วคืนค่ าอาเรย์ ตวใหม่ นัน (10 คะแนน)
             ั                         ั       ้
  © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์)
                                              ้
Advanced Statements and Applications - 09                          Computer Programming using Java          129




    //จงเขียนเมท็อด complementArray(…) เพื่อรับอาเรย์ สองตัวใดๆ จากพารามิเตอร์ แล้ วทําการหาค่ า
    สมาชิกที่ปรากฎอย่ ูในอาเรย์ ตวที่หนึ่งเท่ านัน (โดยจะไม่ ปรากฎอย่ ในอาเรย์ ตวที่สอง) เก็บไว้ ในอาเรย์
                                   ั             ้                    ู         ั
    ตัวใหม่ แล้ วคืนค่ าอาเรย์ ตวใหม่ นัน (10 คะแนน)
                                ั       ้




© สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์)
                                            ้
130   Computer Programming using Java                          09 - Advanced Statements and Applications


       //จงเขียนเมท็อด printArray(…) เพื่อรั บอาเรย์ หนึ่งตัวใดๆ จากพารามิเตอร์ แล้ วทําการแสดงค่ า
       สมาชิกทุกตัวของอาเรย์ นัน โดยให้ สมาชิกแต่ ละตัวคั่นด้ วยเครื่ องหมายจุลภาค (Comma) และ
                                 ้
       สมาชิกทุกตัวจะต้ องอย่ ูภายในเครื่ องหมายปี กกาเปิ ด-ปิ ด ดังตัวอย่ างต่ อไปนี ้ { 1, 2, 3, 4, 5 }
       หรื อ { 5, 12, 7, 0 } เป็ นต้ น (5 คะแนน)




      public static void main(String[] args) {
        int a[] = { 7, 7, 2, 4, 5, 6, 5, 3, 2, 3 , 0, 10};
        int b[] = { 2, 3, 4, 2, 1, 1, 4, 5, 6, 5, 3, 2, 3 };
         //จงเรียกใช้ เมท็อดทุกเมท็อดที่เขียนขึนตามรายละเอียดดังต่ อไปนี ้ (5 คะแนน)
                                               ้
         (1) แสดงสมาชิกของอาเรย์ a และอาเรย์ b ก่ อนการประมวลผล
         (2) แสดงสมาชิกของอาเรย์ a และอาเรย์ b หลังจากตัดสมาชิกตัวที่ซาออกไปแล้ ว
                                                                             ํ้
         (3) แสดงผลลัพธ์ จากการ Union ของอาเรย์ a และอาเรย์ b
         (4) แสดงผลลัพธ์ จากการ Intersect ของอาเรย์ a และอาเรย์ b
         (5) แสดงผลลัพธ์ จากการ Complement ของอาเรย์ a และอาเรย์ b




    } //End of main
  } //End of class

  © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์)
                                              ้

Mais conteúdo relacionado

Mais procurados

ม.3 รหัสจำลอง Pseudocode
ม.3 รหัสจำลอง Pseudocodeม.3 รหัสจำลอง Pseudocode
ม.3 รหัสจำลอง PseudocodeBansit Deelom
 
งานที่ #1 ตัวรายงานการเขียนคำสั่งควบคุมแบบมีทางเลือก
งานที่ #1 ตัวรายงานการเขียนคำสั่งควบคุมแบบมีทางเลือกงานที่ #1 ตัวรายงานการเขียนคำสั่งควบคุมแบบมีทางเลือก
งานที่ #1 ตัวรายงานการเขียนคำสั่งควบคุมแบบมีทางเลือกItslvle Parin
 
พื้นฐานโปรแกรมภาษาจาวา
พื้นฐานโปรแกรมภาษาจาวาพื้นฐานโปรแกรมภาษาจาวา
พื้นฐานโปรแกรมภาษาจาวาThanachart Numnonda
 
Java-Chapter 12 Classes and Objects
Java-Chapter 12 Classes and ObjectsJava-Chapter 12 Classes and Objects
Java-Chapter 12 Classes and ObjectsWongyos Keardsri
 
บทที่ 3 พื้นฐานภาษา Java
บทที่ 3 พื้นฐานภาษา Javaบทที่ 3 พื้นฐานภาษา Java
บทที่ 3 พื้นฐานภาษา JavaItslvle Parin
 
Java-Chapter 10 Two Dimensional Arrays
Java-Chapter 10 Two Dimensional ArraysJava-Chapter 10 Two Dimensional Arrays
Java-Chapter 10 Two Dimensional ArraysWongyos Keardsri
 
บทที่ 3 พื้นฐานภาษา Java
บทที่ 3 พื้นฐานภาษา Javaบทที่ 3 พื้นฐานภาษา Java
บทที่ 3 พื้นฐานภาษา JavaItslvle Parin
 
เครื่องหมายและการดำเนินการในภาษาซี
เครื่องหมายและการดำเนินการในภาษาซีเครื่องหมายและการดำเนินการในภาษาซี
เครื่องหมายและการดำเนินการในภาษาซีเทวัญ ภูพานทอง
 
ค่าสูงสุดสัมบูรณ์และค่าต่ำสุดสัมบูรณ์ของฟังก์ชัน
ค่าสูงสุดสัมบูรณ์และค่าต่ำสุดสัมบูรณ์ของฟังก์ชันค่าสูงสุดสัมบูรณ์และค่าต่ำสุดสัมบูรณ์ของฟังก์ชัน
ค่าสูงสุดสัมบูรณ์และค่าต่ำสุดสัมบูรณ์ของฟังก์ชันsawed kodnara
 

Mais procurados (13)

Lesson3
Lesson3Lesson3
Lesson3
 
ม.3 รหัสจำลอง Pseudocode
ม.3 รหัสจำลอง Pseudocodeม.3 รหัสจำลอง Pseudocode
ม.3 รหัสจำลอง Pseudocode
 
งานที่ #1 ตัวรายงานการเขียนคำสั่งควบคุมแบบมีทางเลือก
งานที่ #1 ตัวรายงานการเขียนคำสั่งควบคุมแบบมีทางเลือกงานที่ #1 ตัวรายงานการเขียนคำสั่งควบคุมแบบมีทางเลือก
งานที่ #1 ตัวรายงานการเขียนคำสั่งควบคุมแบบมีทางเลือก
 
Tech30101 ch8
Tech30101 ch8Tech30101 ch8
Tech30101 ch8
 
Flowchart credit :
Flowchart credit : Flowchart credit :
Flowchart credit :
 
พื้นฐานโปรแกรมภาษาจาวา
พื้นฐานโปรแกรมภาษาจาวาพื้นฐานโปรแกรมภาษาจาวา
พื้นฐานโปรแกรมภาษาจาวา
 
Java-Chapter 12 Classes and Objects
Java-Chapter 12 Classes and ObjectsJava-Chapter 12 Classes and Objects
Java-Chapter 12 Classes and Objects
 
บทที่ 3 พื้นฐานภาษา Java
บทที่ 3 พื้นฐานภาษา Javaบทที่ 3 พื้นฐานภาษา Java
บทที่ 3 พื้นฐานภาษา Java
 
Java-Chapter 10 Two Dimensional Arrays
Java-Chapter 10 Two Dimensional ArraysJava-Chapter 10 Two Dimensional Arrays
Java-Chapter 10 Two Dimensional Arrays
 
ภาษา C#
ภาษา C#ภาษา C#
ภาษา C#
 
บทที่ 3 พื้นฐานภาษา Java
บทที่ 3 พื้นฐานภาษา Javaบทที่ 3 พื้นฐานภาษา Java
บทที่ 3 พื้นฐานภาษา Java
 
เครื่องหมายและการดำเนินการในภาษาซี
เครื่องหมายและการดำเนินการในภาษาซีเครื่องหมายและการดำเนินการในภาษาซี
เครื่องหมายและการดำเนินการในภาษาซี
 
ค่าสูงสุดสัมบูรณ์และค่าต่ำสุดสัมบูรณ์ของฟังก์ชัน
ค่าสูงสุดสัมบูรณ์และค่าต่ำสุดสัมบูรณ์ของฟังก์ชันค่าสูงสุดสัมบูรณ์และค่าต่ำสุดสัมบูรณ์ของฟังก์ชัน
ค่าสูงสุดสัมบูรณ์และค่าต่ำสุดสัมบูรณ์ของฟังก์ชัน
 

Destaque

Java-Chapter 06 File Operations
Java-Chapter 06 File OperationsJava-Chapter 06 File Operations
Java-Chapter 06 File OperationsWongyos Keardsri
 
Java-Chapter 13 Advanced Classes and Objects
Java-Chapter 13 Advanced Classes and ObjectsJava-Chapter 13 Advanced Classes and Objects
Java-Chapter 13 Advanced Classes and ObjectsWongyos Keardsri
 
Java-Chapter 14 Creating Graphics with DWindow
Java-Chapter 14 Creating Graphics with DWindowJava-Chapter 14 Creating Graphics with DWindow
Java-Chapter 14 Creating Graphics with DWindowWongyos Keardsri
 
Java-Chapter 11 Recursions
Java-Chapter 11 RecursionsJava-Chapter 11 Recursions
Java-Chapter 11 RecursionsWongyos Keardsri
 
Java-Answer Chapter 05-06 (For Print)
Java-Answer Chapter 05-06 (For Print)Java-Answer Chapter 05-06 (For Print)
Java-Answer Chapter 05-06 (For Print)Wongyos Keardsri
 
Java-Answer Chapter 07 (For Print)
Java-Answer Chapter 07 (For Print)Java-Answer Chapter 07 (For Print)
Java-Answer Chapter 07 (For Print)Wongyos Keardsri
 
การควบคุมทิศทางการทำงานของโปรแกรม
การควบคุมทิศทางการทำงานของโปรแกรมการควบคุมทิศทางการทำงานของโปรแกรม
การควบคุมทิศทางการทำงานของโปรแกรมkorn27122540
 
How to Study and Research in Computer-related Master Program
How to Study and Research in Computer-related Master ProgramHow to Study and Research in Computer-related Master Program
How to Study and Research in Computer-related Master ProgramWongyos Keardsri
 

Destaque (11)

Java-Chapter 06 File Operations
Java-Chapter 06 File OperationsJava-Chapter 06 File Operations
Java-Chapter 06 File Operations
 
Java-Chapter 08 Methods
Java-Chapter 08 MethodsJava-Chapter 08 Methods
Java-Chapter 08 Methods
 
Java-Chapter 13 Advanced Classes and Objects
Java-Chapter 13 Advanced Classes and ObjectsJava-Chapter 13 Advanced Classes and Objects
Java-Chapter 13 Advanced Classes and Objects
 
Java-Answer Chapter 01-04
Java-Answer Chapter 01-04Java-Answer Chapter 01-04
Java-Answer Chapter 01-04
 
Java-Chapter 14 Creating Graphics with DWindow
Java-Chapter 14 Creating Graphics with DWindowJava-Chapter 14 Creating Graphics with DWindow
Java-Chapter 14 Creating Graphics with DWindow
 
Java-Chapter 11 Recursions
Java-Chapter 11 RecursionsJava-Chapter 11 Recursions
Java-Chapter 11 Recursions
 
Java-Answer Chapter 05-06 (For Print)
Java-Answer Chapter 05-06 (For Print)Java-Answer Chapter 05-06 (For Print)
Java-Answer Chapter 05-06 (For Print)
 
Java-Answer Chapter 07 (For Print)
Java-Answer Chapter 07 (For Print)Java-Answer Chapter 07 (For Print)
Java-Answer Chapter 07 (For Print)
 
IP address anonymization
IP address anonymizationIP address anonymization
IP address anonymization
 
การควบคุมทิศทางการทำงานของโปรแกรม
การควบคุมทิศทางการทำงานของโปรแกรมการควบคุมทิศทางการทำงานของโปรแกรม
การควบคุมทิศทางการทำงานของโปรแกรม
 
How to Study and Research in Computer-related Master Program
How to Study and Research in Computer-related Master ProgramHow to Study and Research in Computer-related Master Program
How to Study and Research in Computer-related Master Program
 

Semelhante a Java-Chapter 09 Advanced Statements and Applications

กลุ่ม3การเขียนคำสั่งควบคุมแบบมีทางเลือก
กลุ่ม3การเขียนคำสั่งควบคุมแบบมีทางเลือกกลุ่ม3การเขียนคำสั่งควบคุมแบบมีทางเลือก
กลุ่ม3การเขียนคำสั่งควบคุมแบบมีทางเลือกNaphamas
 
Powerpointการเขียนคำสั่งควบคุมแบบมีทางเลือก
Powerpointการเขียนคำสั่งควบคุมแบบมีทางเลือกPowerpointการเขียนคำสั่งควบคุมแบบมีทางเลือก
Powerpointการเขียนคำสั่งควบคุมแบบมีทางเลือกNaphamas
 
บทที่ 3 การเขียนคำสั่งควบคุมแบบมีทางเลือก
บทที่ 3 การเขียนคำสั่งควบคุมแบบมีทางเลือกบทที่ 3 การเขียนคำสั่งควบคุมแบบมีทางเลือก
บทที่ 3 การเขียนคำสั่งควบคุมแบบมีทางเลือกNekk ♡
 
งานนำเสนอ1
งานนำเสนอ1งานนำเสนอ1
งานนำเสนอ1Thank Chiro
 
คณ ตศาสตร
คณ ตศาสตร คณ ตศาสตร
คณ ตศาสตร Aoy Amm Mee
 
ตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระ ตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระ Areeya Onnom
 
การเขียนคำสั่งควบคุมแบบมีทางเลือก
การเขียนคำสั่งควบคุมแบบมีทางเลือกการเขียนคำสั่งควบคุมแบบมีทางเลือก
การเขียนคำสั่งควบคุมแบบมีทางเลือกSupicha Ploy
 

Semelhante a Java-Chapter 09 Advanced Statements and Applications (15)

กลุ่ม3การเขียนคำสั่งควบคุมแบบมีทางเลือก
กลุ่ม3การเขียนคำสั่งควบคุมแบบมีทางเลือกกลุ่ม3การเขียนคำสั่งควบคุมแบบมีทางเลือก
กลุ่ม3การเขียนคำสั่งควบคุมแบบมีทางเลือก
 
Powerpointการเขียนคำสั่งควบคุมแบบมีทางเลือก
Powerpointการเขียนคำสั่งควบคุมแบบมีทางเลือกPowerpointการเขียนคำสั่งควบคุมแบบมีทางเลือก
Powerpointการเขียนคำสั่งควบคุมแบบมีทางเลือก
 
chapter 3 คำสั่งควบคุม
chapter 3 คำสั่งควบคุมchapter 3 คำสั่งควบคุม
chapter 3 คำสั่งควบคุม
 
งานทำ Blog บทที่ 6
งานทำ Blog บทที่ 6งานทำ Blog บทที่ 6
งานทำ Blog บทที่ 6
 
31201final531
31201final53131201final531
31201final531
 
บทที่ 3 การเขียนคำสั่งควบคุมแบบมีทางเลือก
บทที่ 3 การเขียนคำสั่งควบคุมแบบมีทางเลือกบทที่ 3 การเขียนคำสั่งควบคุมแบบมีทางเลือก
บทที่ 3 การเขียนคำสั่งควบคุมแบบมีทางเลือก
 
ฟังก์ชั่น If หลายทางเลือก
ฟังก์ชั่น If หลายทางเลือกฟังก์ชั่น If หลายทางเลือก
ฟังก์ชั่น If หลายทางเลือก
 
Know3 2
Know3 2Know3 2
Know3 2
 
11
1111
11
 
งานนำเสนอ1
งานนำเสนอ1งานนำเสนอ1
งานนำเสนอ1
 
Prettest
PrettestPrettest
Prettest
 
Know1 3
Know1 3Know1 3
Know1 3
 
คณ ตศาสตร
คณ ตศาสตร คณ ตศาสตร
คณ ตศาสตร
 
ตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระ ตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระ
 
การเขียนคำสั่งควบคุมแบบมีทางเลือก
การเขียนคำสั่งควบคุมแบบมีทางเลือกการเขียนคำสั่งควบคุมแบบมีทางเลือก
การเขียนคำสั่งควบคุมแบบมีทางเลือก
 

Mais de Wongyos Keardsri

The next generation intelligent transport systems: standards and applications
The next generation intelligent transport systems: standards and applicationsThe next generation intelligent transport systems: standards and applications
The next generation intelligent transport systems: standards and applicationsWongyos Keardsri
 
SysProg-Tutor 03 Unix Shell Script Programming
SysProg-Tutor 03 Unix Shell Script ProgrammingSysProg-Tutor 03 Unix Shell Script Programming
SysProg-Tutor 03 Unix Shell Script ProgrammingWongyos Keardsri
 
SysProg-Tutor 02 Introduction to Unix Operating System
SysProg-Tutor 02 Introduction to Unix Operating SystemSysProg-Tutor 02 Introduction to Unix Operating System
SysProg-Tutor 02 Introduction to Unix Operating SystemWongyos Keardsri
 
SysProg-Tutor 01 Introduction to C Programming Language
SysProg-Tutor 01 Introduction to C Programming LanguageSysProg-Tutor 01 Introduction to C Programming Language
SysProg-Tutor 01 Introduction to C Programming LanguageWongyos Keardsri
 
Discrete-Chapter 11 Graphs Part III
Discrete-Chapter 11 Graphs Part IIIDiscrete-Chapter 11 Graphs Part III
Discrete-Chapter 11 Graphs Part IIIWongyos Keardsri
 
Discrete-Chapter 11 Graphs Part II
Discrete-Chapter 11 Graphs Part IIDiscrete-Chapter 11 Graphs Part II
Discrete-Chapter 11 Graphs Part IIWongyos Keardsri
 
Discrete-Chapter 11 Graphs Part I
Discrete-Chapter 11 Graphs Part IDiscrete-Chapter 11 Graphs Part I
Discrete-Chapter 11 Graphs Part IWongyos Keardsri
 
Discrete-Chapter 09 Algorithms
Discrete-Chapter 09 AlgorithmsDiscrete-Chapter 09 Algorithms
Discrete-Chapter 09 AlgorithmsWongyos Keardsri
 
Discrete-Chapter 08 Relations
Discrete-Chapter 08 RelationsDiscrete-Chapter 08 Relations
Discrete-Chapter 08 RelationsWongyos Keardsri
 
Discrete-Chapter 07 Probability
Discrete-Chapter 07 ProbabilityDiscrete-Chapter 07 Probability
Discrete-Chapter 07 ProbabilityWongyos Keardsri
 
Discrete-Chapter 06 Counting
Discrete-Chapter 06 CountingDiscrete-Chapter 06 Counting
Discrete-Chapter 06 CountingWongyos Keardsri
 
Discrete-Chapter 05 Inference and Proofs
Discrete-Chapter 05 Inference and ProofsDiscrete-Chapter 05 Inference and Proofs
Discrete-Chapter 05 Inference and ProofsWongyos Keardsri
 
Discrete-Chapter 04 Logic Part II
Discrete-Chapter 04 Logic Part IIDiscrete-Chapter 04 Logic Part II
Discrete-Chapter 04 Logic Part IIWongyos Keardsri
 
Discrete-Chapter 04 Logic Part I
Discrete-Chapter 04 Logic Part IDiscrete-Chapter 04 Logic Part I
Discrete-Chapter 04 Logic Part IWongyos Keardsri
 
Discrete-Chapter 03 Matrices
Discrete-Chapter 03 MatricesDiscrete-Chapter 03 Matrices
Discrete-Chapter 03 MatricesWongyos Keardsri
 
Discrete-Chapter 02 Functions and Sequences
Discrete-Chapter 02 Functions and SequencesDiscrete-Chapter 02 Functions and Sequences
Discrete-Chapter 02 Functions and SequencesWongyos Keardsri
 
Discrete-Chapter 12 Modeling Computation
Discrete-Chapter 12 Modeling ComputationDiscrete-Chapter 12 Modeling Computation
Discrete-Chapter 12 Modeling ComputationWongyos Keardsri
 

Mais de Wongyos Keardsri (19)

The next generation intelligent transport systems: standards and applications
The next generation intelligent transport systems: standards and applicationsThe 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 ProgrammingSysProg-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 SystemSysProg-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 LanguageSysProg-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 IIIDiscrete-Chapter 11 Graphs Part III
Discrete-Chapter 11 Graphs Part III
 
Discrete-Chapter 11 Graphs Part II
Discrete-Chapter 11 Graphs Part IIDiscrete-Chapter 11 Graphs Part II
Discrete-Chapter 11 Graphs Part II
 
Discrete-Chapter 11 Graphs Part I
Discrete-Chapter 11 Graphs Part IDiscrete-Chapter 11 Graphs Part I
Discrete-Chapter 11 Graphs Part I
 
Discrete-Chapter 10 Trees
Discrete-Chapter 10 TreesDiscrete-Chapter 10 Trees
Discrete-Chapter 10 Trees
 
Discrete-Chapter 09 Algorithms
Discrete-Chapter 09 AlgorithmsDiscrete-Chapter 09 Algorithms
Discrete-Chapter 09 Algorithms
 
Discrete-Chapter 08 Relations
Discrete-Chapter 08 RelationsDiscrete-Chapter 08 Relations
Discrete-Chapter 08 Relations
 
Discrete-Chapter 07 Probability
Discrete-Chapter 07 ProbabilityDiscrete-Chapter 07 Probability
Discrete-Chapter 07 Probability
 
Discrete-Chapter 06 Counting
Discrete-Chapter 06 CountingDiscrete-Chapter 06 Counting
Discrete-Chapter 06 Counting
 
Discrete-Chapter 05 Inference and Proofs
Discrete-Chapter 05 Inference and ProofsDiscrete-Chapter 05 Inference and Proofs
Discrete-Chapter 05 Inference and Proofs
 
Discrete-Chapter 04 Logic Part II
Discrete-Chapter 04 Logic Part IIDiscrete-Chapter 04 Logic Part II
Discrete-Chapter 04 Logic Part II
 
Discrete-Chapter 04 Logic Part I
Discrete-Chapter 04 Logic Part IDiscrete-Chapter 04 Logic Part I
Discrete-Chapter 04 Logic Part I
 
Discrete-Chapter 03 Matrices
Discrete-Chapter 03 MatricesDiscrete-Chapter 03 Matrices
Discrete-Chapter 03 Matrices
 
Discrete-Chapter 02 Functions and Sequences
Discrete-Chapter 02 Functions and SequencesDiscrete-Chapter 02 Functions and Sequences
Discrete-Chapter 02 Functions and Sequences
 
Discrete-Chapter 01 Sets
Discrete-Chapter 01 SetsDiscrete-Chapter 01 Sets
Discrete-Chapter 01 Sets
 
Discrete-Chapter 12 Modeling Computation
Discrete-Chapter 12 Modeling ComputationDiscrete-Chapter 12 Modeling Computation
Discrete-Chapter 12 Modeling Computation
 

Java-Chapter 09 Advanced Statements and Applications

  • 1. Advanced Statements and Applications - 09 Computer Programming using Java 113 CHAPTER คําสังแบบซับซ้อนและการประย ุกต์ ่ 09 (Advanced Statements and Applications) 1. คําสั่งตัดสินใจแบบซับซ้ อน (Advanced Decision Statements) 1. รปแบบของคําสั่งตัดสินใจแบบซับซ้ อน ประกอบไปด้ วย 2 รูปแบบคือ ู 1) คําสั่งตัดสินใจที่ซ้อนกันหลายชัน ในบทนี ้ได้ แก่คําสัง if-else ซ้ อน if-else (Nested If-Else) ซึงได้ ้ ่ ่ กล่าวไปบ้ างแล้ วในบทที่ 3 และมีรายละเอียดเพิ่มเติมตามหัวข้ อที่ 2 2) คําสั่งตัดสินใจแบบหลายเงื่อนไข ในบทนี ้ได้ แก่คาสัง if-else ที่มีเงื่อนไขหลายๆ เงื่อนไขเชื่อมเข้ ากัน ํ ่ ด้ วยตัวดําเนินการตรรกะ (Logical Operators) โดยมีรายละเอียดตามหัวข้ อที่ 3 2. คําสั่ง if-else ซ้ อน if-else (Nested If-Else) 1 if (Condition1) { 2 Statement1; if (Condition1) { 3 } else { Statement1; 4 if (Condition2) { 5 Statement2; } else if (Condition2) { 6 } else { Statement2; 7 if (Condition3) { 8 Statement3; } else if (Condition3) { 9 } else { Statement3; 10 . . 11 . . . 12 } else { . 13 StatementN; } else { 14 } 15 StatementN; } 16 } } 17 } สามารถตัดคําสัง else ออกไปได้ ่ 3. คําสั่ง if-else แบบหลายเงื่อนไข 1 if (Condition1 && Condition2 || Condition3 &&...|| ConditionN) { 2 Statement1; 3 Statement2; 4 . เรี ยกเงื่อนไขทังหมดภายในคําสัง if ว่า นิพจน์ ตรรกะ ้ ่ 5 . . 6 StatementM-1; ใช้ เครื่ องหมาย && หรื อเครื่ องหมาย || เพื่อเชื่อมเงื่อนไขต่างๆ เข้ าด้ วยกัน 7 StatementM; 8 } โจทย์ ข้อที่ 1 [ระดับง่ าย] จงเขียนนิพจน์ ตรรกะตามหลักของภาษาจาวาจากเงื่อนไขต่ อไปนี ้ (10 คะแนน) 1) ตัวแปร n เป็ นจํานวนเต็มบวกค่ ูท่ ไม่ เกิน 3 หลัก แต่ ไม่ เท่ ากับ 12 และ 112 (2 คะแนน) ี © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  • 2. 114 Computer Programming using Java 09 - Advanced Statements and Applications 2) ตัวแปร n เป็ นจํานวนเต็มบวกที่มี 3 เป็ นตัวร่ วมหรือมี 5 เป็ นตัวร่ วม แต่ ค่าไม่ เกิน 100 (2 คะแนน) 3) ตัวแปร m เป็ นหมายเลขเดือนที่ลงท้ ายด้ วยคําว่ ายน (2 คะแนน) 4) ตัวแปร m เป็ นหมายเลขเดือนที่ไม่ ใช่ เดือนกุมภาพันธ์ (2 คะแนน) 5) ตัวแปร s เป็ นคําที่เขียนว่ า "Yes' หรื อ "Y" โดยไม่ สนใจอักษรตัวพิมพ์ ใหญ่ และพิมพ์ เล็ก (2 คะแนน) โจทย์ ข้อที่ 2 [ระดับปานกลาง] จงเขียนเมท็อด getDaysOfMonth(…) ที่สมบรณ์ เพื่อรั บเดือนและปี ค.ศ. ู เข้ ามาทางพารามิเตอร์ โดยให้ คํานวณและคืนค่ าจํานวนวันจากหมายเลขเดือนและปี ค.ศ. ที่ระบุ เช่ น เดือนที่ 1 คืนค่ า 31 เดือนที่ 6 คืนค่ า 30 เป็ นต้ น แต่ ถ้าหมายเลขเดือนไม่ ถูกต้ องให้ คืนค่ า 0 โดยในการ คํานวณจะต้ องตรวจสอบปี อธิกสุรทิน (Leap Year) ที่เดือนกุมภาพันธ์ มี 29 วันด้ วย ซึ่งปี อธิกสุรทินคือปี ค.ศ. ที่หาร 4 ลงตัวแต่ หาร 100 ไม่ ลงตัว หรื อปี ค.ศ. ที่หาร 400 ลงตัว (10 คะแนน) © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  • 3. Advanced Statements and Applications - 09 Computer Programming using Java 115 โจทย์ ข้อที่ 3 [ระดับปานกลาง] จงเขียนเมท็อด getSize(…) ที่รับตัวเลขจํานวนเต็มจากพารามิเตอร์ ในชื่อ n แล้ วทําการตรวจสอบค่ า n ดังต่ อไปนี ้ (10 คะแนน) 1) ถ้ า n >= 0 ให้ หาค่ ารากที่สองของ n แล้ วเก็บไว้ ในตัวแปร m และนําค่ า m มาจัดกลุ่มดังนี ้ (1) ถ้ า 0 <= m <= 5 ให้ แสดงค่ า m และหาค่ า 2 เท่ าของ m แล้ วพิจารณาดังนี ้ ถ้ ามีค่ามากกว่ า 7 ให้ คืนค่ า "Little" นอกเหนือจากนันให้ คนค่ า "Undefined" ้ ื (2) ถ้ า 5 < m <= 10 ให้ แสดงค่ า m และหาค่ า 3 เท่ าของ m แล้ วพิจารณาดังนี ้ ถ้ ามีค่ามากกว่ า 22 ให้ คนค่ า "Medium" ื นอกเหนือจากนันให้ คนค่ า "Undefined" ้ ื (3) ถ้ า 10 < m <= 25 ให้ แสดงค่ า m และหาค่ า 4 เท่ าของ m แล้ วพิจารณาดังนี ้ ถ้ ามีค่ามากกว่ า 80 ให้ คนค่ า "Very Big" ื ถ้ ามีค่ามากกว่ า 60 แต่ ไม่ เกิน 80 ให้ คืนค่ า "Big" นอกเหนือจากนันให้ คนค่ า "Undefined" ้ ื (4) ถ้ า 25 < m ให้ แสดงค่ า m และคืนค่ า "Giant" 2) ถ้ า n < 0 ให้ แสดงค่ า n และคืนค่ า "Negative" © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  • 4. 116 Computer Programming using Java 09 - Advanced Statements and Applications โจทย์ ข้อที่ 4 [ระดับปานกลาง] จงเขียนเมท็อด isEngStudent(…) ที่รับสตริงที่เป็ นเลขประจําตัวนิสิต ยาว 10 หลักเท่ านัน และตัวเลขจํานวนเต็มที่เป็ นรหัสวิชาใดวิชาหนึ่งยาว 7 หลักเท่ านัน เข้ ามาทาง ้ ้ พารามิเตอร์ เพื่อใช้ ในการตรวจสอบว่ าใช่ นิสิตชันปี ที่ 1 ระดับปริ ญญาตรี คณะวิศวกรรมศาสตร์ หรื อไม่ ้ และเป็ นนิสิตที่ลงทะเบียนเรี ยนในรายวิชาที่เปิ ดสอนสําหรั บชันปี ที่ 1 สอนโดยคณะวิศวกรรมศาสตร์ ้ หรื อไม่ โดยมีหลักเกณฑ์ ในการตรวจสอบดังนี ้ (10 คะแนน) 1 2 3 9 10 1 2 5 5 4 3 0 8 1 9 5 2 1 2 1 1 0 1 9 1 เลขประจําตัวนิสิต รหัสวิชา 1) ตัวเลขหลักที่ 1-2 ของเลขประจําตัวนิสิต หมายถึง ปี การศึกษาที่เริ่มเข้ าเรียน 1) ตัวเลขหลักที่ 3 ของเลขประจําตัวนิสิต หมายถึง ระดับการศึกษา โดยเลข 3 คือระดับปริญญาตรี 2) ตัวเลขหลักที่ 9-10 ของเลขประจําตัวนิสิต หมายถึง รหัสคณะ โดยรหัส 21 คือคณะวิศวกรรมศาสตร์ 3) ตัวเลขหลักที่ 1-2 ของรหัสวิชา หมายถึง รหัสคณะ โดยรหัส 21 คือคณะวิศวกรรมศาสตร์ 4) ตัวเลขหลักที่ 5 ของรหัสวิชา หมายถึง ชันปี โดยเลข 1 คือชันปี ที่ 1 ้ ้ 2. คําสั่งวนซําแบบซับซ้ อน (Advanced Iteration Statements) ้ 1. รปแบบของคําสั่งวนซําแบบซับซ้ อน ประกอบไปด้ วย 2 รูปแบบคือ ู ้ 1) คําสั่งวนซําที่ซ้อนกันหลายชัน ในบทนี ้ได้ แก่คําสัง for ซ้ อน for (Nested For) หรื อคําสัง while ซ้ อน ้ ้ ่ ่ while (Nested While) หรื อคําสัง for ซ้ อน while (Nested Loops) เป็ นต้ น ซึงได้ กล่าวไปบ้ างแล้ วใน ่ ่ บทที่ 4 และมีรายละเอียดเพิ่มเติมตามหัวข้ อที่ 2 © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  • 5. Advanced Statements and Applications - 09 Computer Programming using Java 117 2) คําสั่งวนซําแบบหลายตัวควบคุม ในบทนี ้ได้ แก่คําสัง for หรื อคําสัง while ที่มีหลายตัวควบคุม (ตัว ้ ่ ่ แปรที่ใช้ ในการวนซํ ้า) และหลายเงื่อนไข โดยรายละเอียดตามหัวข้ อที่ 3 2. คําสั่งวนซําที่ซ้อนกันหลายชัน มีหลักการทํางานดังนี ้ ้ ้ ภายในคําสัง for แต่ละชัน ่ ้ 1 for (Initial1; Condition1; Update1) { สามารถเพิ่มคําสังต่างๆ เข้ าไป ่ 2 for (Initial2; Condition2; Update2) { ในชันนันๆ ได้ ้ ้ 3 for (Initial3; Condition3; Update3) { 4 ... 5 for (InitialN; ConditionN; UpdateN) { Statements; 6 } จํานวนรอบทังหมดของคําสัง ้ ่ 7 8 } ถ้ าตัวแปรที่เป็ นตัวควบคุมในคําสัง for ชันแรก มีการ ่ ้ for ซ้ อน for คํานวนได้ จาก 9 } 10 } นําไปใช้ งานต่อเนื่องในคําสัง for ชันที่ 2 หรื อชันต่อๆ ่ ้ ้ การนําจํานวนรอบของแต่ละ ไป จะไม่สามารถนับจํานวนรอบโดยการคูณได้ for มาคูณกัน 1) เริ่ มทํางานจากคําสัง for ชันนอกสุดแล้ วค่อยวนเข้ าไปทํางานในคําสัง for ชันถัดไปภายใน และจะวน ่ ้ ่ ้ ทํางานแบบนี ้ไปเรื่ อยๆ จนถึงคําสัง for ชันในสุด ่ ้ 2) เมื่อทํางานในคําสัง for ชันในสุดเสร็ จสิ ้นแล้ ว จะวกกลับมายังคําสัง for ชันถัดขึ ้นมา แล้ วทํางานในคําสัง ่ ้ ่ ้ ่ for ชันนันจนจบ จึงจะวกกลับขึ ้นมาทํางานในคําสัง for แต่ละชันไปเรื่ อยๆ จนถึงคําสัง for ชันนอกสุด ้ ้ ่ ้ ่ ้ 3) การวนซํ ้าจะทํางานตามข้ อ 1-2 ไปเรื่ อยๆ จนกว่าเงื่อนไขของคําสัง for ในแต่ละชันจะเป็ นเท็จ (ครบรอบ) ่ ้ โจทย์ ข้อที่ 5 [ระดับง่ าย] จงแสดงรายละเอียดและความสัมพันธ์ ของค่ า i, j, k และ sum ตามตารางที่ กําหนดให้ แล้ วตอบคําถามจากส่ วนของโปรแกรมต่ อไปนี ้ (10 คะแนน) 1 for (int i = 1; i <= 2; i++) { i j k sum 2 for (int j = 8; j >= 5; j--) { 3 for (int k = 3; k < 5; k++) { 4 int sum = i + j + k; 5 } 6 } 7 } 1) จงหาจํานวนรอบทังหมดในการทํางาน ้ 2) จงหาค่ าสงสุดของ sum และค่ า i, j และ k ู ณ ขณะที่ค่า sum เป็ นค่ าสงสุด ู 3) จงหาค่ าตํ่าสุดของ sum และค่ า i, j และ k ณ ขณะที่ค่า sum เป็ นค่ าตํ่าสุด © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  • 6. 118 Computer Programming using Java 09 - Advanced Statements and Applications โจทย์ ข้อที่ 6 [ระดับปานกลาง] จงแสดงผลลัพธ์ จากโปรแกรมพร้ อมทังตอบคําถามต่ อไปนี ้ (8 คะแนน) ้ 1 public static void loopXYZ(int x, int y, int z) { loopXYZ(2, 7, 1); 2 for (int i = x; i < 5; i++) 3 for (int j = y; j > 2 * i; --j) 4 for (int k = z; k <= 1; k++) 5 System.out.println(i + "," + j + "," + k); 6 System.out.println("i = " + i); 7 System.out.println("j = " + j); 8 System.out.println("k = " + k); 9 } จงหาจํานวนรอบทังหมดในการทํางาน ้ โจทย์ ข้อที่ 7 [ระดับปานกลาง] จงเขียนเมท็อด formulaAtoB(…) ที่สมบรณ์ เพื่อใช้ ในการพิมพ์ สูตรคณ ู ู ตังแม่ ท่ ี a จนถึงแม่ ท่ ี b ขึนบนจอภาพ เช่ น formulaAtoB(4, 9) จะพิมพ์ สูตรคณตังแต่ แม่ 4 จนถึงแม่ ้ ้ ู ้ 9 บนจอภาพ เป็ นต้ น พร้ อมทังระบุเส้ นแบ่ งของแต่ ละแม่ ด้วย (10 คะแนน) ้ 4 x 1 = 4 4 x 2 = 8 4 x 3 = 12 ... 4 x 11 = 44 4 x 12 = 48 ------------ 5 x 1 = 5 5 x 2 = 10 ... โจทย์ ข้อที่ 8 [ระดับปานกลาง] จงเขียนเมท็อด showBarGraph(…) ที่สมบรณ์ เพื่อวนวิ่งตัวเลขตังแต่ 1 ู ้ จนถึงค่ า x และตังแต่ ค่า y จนถึง 1 โดยที่ตัวแปร x และ y จะรั บเข้ ามาทางพารามิเตอร์ ซึ่ง ณ ขณะที่ได้ ้ ค่ า x และ y สองค่ าใดๆ ให้ แสดงกราฟแท่ งที่มีความยาวเท่ ากับผลคณของสองตัวเลขนัน ดังตัวอย่ าง ู ้ ต่ อไปนี ้ พร้ อมทังเรี ยกใช้ งานเมท็อดเพื่อแสดงกราฟแท่ งตามตัวอย่ างทัง 3 แบบที่ให้ มา (15 คะแนน) ้ ้ 1,2 || 2 x = 5 1,4 |||| 4 x = 3 1,6 |||||| 6 x = 2 1,1 | 1 y = 2 1,3 ||| 3 y = 4 1,5 ||||| 5 y = 6 2,2 |||| 4 1,2 || 2 1,4 |||| 4 2,1 || 2 1,1 | 1 1,3 ||| 3 3,2 |||||| 6 2,4 |||||||| 8 1,2 || 2 3,1 ||| 3 2,3 |||||| 6 1,1 | 1 4,2 |||||||| 8 2,2 |||| 4 2,6 |||||||||||| 12 4,1 |||| 4 2,1 || 2 2,5 |||||||||| 10 5,2 |||||||||| 10 3,4 |||||||||||| 12 2,4 |||||||| 8 5,1 ||||| 5 3,3 ||||||||| 9 2,3 |||||| 6 3,2 |||||| 6 2,2 |||| 4 3,1 ||| 3 2,1 || 2 © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  • 7. Advanced Statements and Applications - 09 Computer Programming using Java 119 public class BarGraph { public static void main(String[] args) { } //End of main //showBarGraph(…) } //End of class โจทย์ ข้อที่ 9 [ระดับยาก] จงเขียนเมท็อด calEquation(…) ที่สมบรณ์ เพื่อใช้ สําหรั บคํานวณหาคําตอบ ู ของสมการ s = 17x 9 yz 8 + 15x 8 y 2 z 7 + 13x 7 y 3 z 6 + 11x 6 y 4 z 5 + ... + xy 9 z 0 แล้ วคืนค่ า s ที่เป็ นคําตอบ ในทุกๆ รอบกลับมา โดยมีข้อกําหนดดังต่ อไปนี ้ 1) ค่ า x เริ่มต้ นที่ 1 จนถึง a โดยค่ าจะเพิ่มขึนครังละ 1 โดยที่ a เป็ นค่ าที่รับมาจากพารามิเตอร์ ้ ้ 2) ค่ า y เริ่มต้ นที่ 5 จนถึง b โดยค่ าจะเพิ่มขึนครังละ 5 โดยที่ b เป็ นค่ าที่รับมาจากพารามิเตอร์ ้ ้ 3) ค่ า z เริ่มต้ นที่ 12 จนถึง c โดยค่ าจะลดลงครั งละ 2 โดยที่ c เป็ นค่ าที่รับมาจากพารามิเตอร์ ้ ในการประมวลผล กําหนดให้ x ถกพิจารณาก่ อน y และ y ถกพิจารณาก่ อน z โดยจะวนทํางานซ้ อนกัน ู ู เป็ นชันๆ และให้ เรี ยกใช้ เมท็อดนีท่ ีเมท็อด main(…) โดยให้ ค่าของพารามิเตอร์ ทุกตัวเป็ น 10 พร้ อมทัง ้ ้ ้ แสดงผลลัพธ์ ท่ ได้ ขนบนจอภาพให้ สวยงาม (15 คะแนน) ี ึ้ © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  • 8. 120 Computer Programming using Java 09 - Advanced Statements and Applications import java.util.Scanner; public class TheEquation { //calEquation(…) public static void main(String[] args) { } //End of main } //End of class 3. คําสั่งวนซําแบบหลายตัวควบคุม ้ 1) คําสั่ง for แบบหลายตัวควบคุมและหลายเงื่อนไข เรี ยก Initial1 ว่าตัวควบคุมตัวที่ 1 1 for (Initial1, Initial2, Initial3,...; 2 Condition1 && Condition2 || Condition3 && ...; 3 Update1, Update2, Update3, ...) { 4 . . 5 . Initial แต่ละตัวคันด้ วย Comma, Condition แต่ละตัวเชื่อมด้ วย Logical ่ 6 } Operators, Update แต่ละตัวคันด้ วย Comma ่ © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  • 9. Advanced Statements and Applications - 09 Computer Programming using Java 121 2) คําสั่ง while แบบหลายตัวควบคุมและหลายเงื่อนไข 1 Initial1, Initial2, Initial3,...; 2 while (Condition1 && Condition2 || Condition3 && ...) { 3 . . 4 . 5 Update1; Update2; Update3; ...; 6 } Initial แต่ละตัวคันด้ วย Comma, Condition แต่ละตัวเชื่อมด้ วย Logical ่ Operators, Update แต่ละตัวคันด้ วย Semicolon ่ โจทย์ ข้อที่ 10 [ระดับง่ าย] จงหาผลลัพธ์ จากส่ วนของโปรแกรมและตอบคําถามต่ อไปนี ้ (8 คะแนน) 1 public static void iterABC(int a, int b, int c) { iterABC(1, 15, 2); 2 while (a <= 5 && b > 3 || c >= 0) { 3 System.out.println(a + "t" + b + "t" + c); 4 a++; 5 b--; 6 if ((a + b) % 2 == 0) c--; 7 } 8 } จงหาจํานวนรอบทังหมดในการทํางาน ้ โจทย์ ข้อที่ 11 [ระดับง่ าย] จงหาผลลัพธ์ จากส่ วนของโปรแกรมและตอบคําถามต่ อไปนี ้ (8 คะแนน) 1 for (int i = 0, j = 10; i < 10 && j > 0; i++, j--) { 2 if (i == j / 2) break; 3 System.out.println(i); 4 if (j % 2 != 0) continue; 5 System.out.println(j); 6 if (i * 4 == j) คําสั่ง continue เป็ น 7 System.out.println(i + "," + j); คําสั่งที่วกกลับขึนไปยัง ้ 8 } ต้ น Loop จงหาจํานวนรอบทังหมดในการทํางาน ้ โจทย์ ข้อที่ 12 [ระดับยาก] จงเขียนเมท็อด toStringCalculation(…) ที่สมบรณ์ เพื่อรั บค่ าตัวแปร a, b ู และ c ที่เป็ นจํานวนเต็มเข้ ามาทางพารามิเตอร์ เพื่อใช้ เป็ นค่ าเริ่มต้ นของตัวแปรควบคุมวงวน (Loop) x, y และ z ตามลําดับ พร้ อมทังรั บค่ าตัวแปร p, q และ r อีกหนึ่งโดยการเรี ยกใช้ เมท็อด inputNumber(…) ้ เพื่อนํามาเป็ นค่ าที่เพิ่มขึนในแต่ ละรอบของตัวแปรควบคุมข้ างต้ นตามลําดับ โดยค่ าทังหมดนีถูกใช้ เพื่อ ้ ้ ้ คํานวณหาคําตอบของสมการ s = 10x 10 yz 10 + 9x 9 y 2 z 12 + 8x 8 y 3 z 14 + 7x 7 y 4 z 16 + ... + xy 10 z 28 และ กําหนดให้ ใช้ คาสั่ง for แบบ 3 ตัวควบคุม x, y และ z โดยจะมีการหยุดรอบเมื่อ x + y + z มากกว่ า ํ หรื อเท่ ากับ 1000 และให้ คืนค่ าผลลัพธ์ ของ x, y, z และ s ในแต่ ละรอบให้ ครบถ้ วน (15 คะแนน) © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  • 10. 122 Computer Programming using Java 09 - Advanced Statements and Applications import java.util.Scanner; import java.util.io.*; public class Calculation { //toStringCalculation(…) public static int inputNumber(String s) { Scanner kb = new Scanner(System.in); System.out.print("Enter " + s + ": "); return kb.nextInt(); } //เรียกใช้ เมท็อด toStringCalculation(…) ที่เมท็อด main(…) ให้ ถูกต้ องสมบรณ์ โดยกําหนดให้ ค่า ู ของพารามิเตอร์ ทงสามเป็ น 10, 20 และ 30 ตามลําดับ ั้ public static void main(String[] args) { } //End of main } //End of class © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  • 11. Advanced Statements and Applications - 09 Computer Programming using Java 123 3. การประยุกต์ ใช้ คาสั่งแบบซับซ้ อน (Applications of Advanced Statements) ํ 1) คําสังตัดสินใจแบบซับซ้ อนและคําสังวนซํ ้าแบบซับซ้ อนสามารถทํางานร่วมกันได้ เช่น คําสัง for ซ้ อน for ่ ่ ่ หรื อ for ซ้ อน while ที่ภายในอาจมีคําสัง if-else ซ้ อน if-else แทรกอยู่ เป็ นต้ น ่ 1 for (Initial1; Condition1; Update1) { 2 for (Initial2; Condition2; Update2) { มีคําสัง for ซ้ อน for ทังหมด 2 ชัน ่ ้ ้ 3 if (Condition3) Statement; 4 else if (Condition4) Statement; ซึงภายในคําสัง for ชันในสุดมีคําสัง ่ ่ ้ ่ 5 else Statement; if-else ซ้ อน if-else แทรกอยู่ 6 } 7 } อีกชันหนึง ้ ่ 2) โปรแกรมประยุกต์สวนใหญ่หลีกหนีไม่พ้นที่จะใช้ คําสังเหล่านี ้ในการประมวลผล ดังนันเราจึงควรฝึ กเขียนคําสัง ่ ่ ้ ่ แบบซับซ้ อนเหล่านี ้ให้ เกิดความชํานาญให้ มากที่สด ุ โจทย์ ข้อที่ 13 [ระดับง่ าย - ระดับยาก] จงเขียนเมท็อด starXX(…) ให้ สมบรณ์ โดยรั บจํานวนเต็มหนึ่งค่ า ู มาทางพารามิเตอร์ เพื่อแสดงรปเลขาคณิตต่ างๆ ตามที่โจทย์ กาหนด โดยอนุญาตให้ ใช้ เพียงคําสั่งต่ อไป- ู ํ นีเ้ ท่ านันในการแสดงผล ได้ แก่ คําสั่ง System.out.print("*"); คําสั่ง System.out.println("*"); ้ คําสั่ง System.out.print(" "); และคําสั่ง System.out.println(); (80 คะแนน : ข้ อละ 8 คะแนน) public class Shape { public static void starA(int n) { [ระดับง่ าย] starA(11) *********** *********** *********** *********** *********** *********** *********** *********** *********** *********** *********** } //End of method public static void starB(int n) { [ระดับง่ าย] starB(11) * ** *** **** ***** ****** ******* ******** ********* ********** *********** } //End of method © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  • 12. 124 Computer Programming using Java 09 - Advanced Statements and Applications public static void starC(int n) { [ระดับง่ าย] starC(11) *********** ********** ********* ******** ******* ****** ***** **** *** ** * } //End of method public static void starD(int n) { [ระดับปานกลาง] starD(11) * ** *** **** ***** ****** ******* ******** ********* ********** *********** } //End of method public static void starE(int n) { [ระดับปานกลาง] starE(11) *********** ********** ********* ******** ******* ****** ***** **** *** ** * } //End of method © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  • 13. Advanced Statements and Applications - 09 Computer Programming using Java 125 public static void starF(int n) { [ระดับปานกลาง] starF(11) *********** * * * * * * * * * * * * * * * * * * *********** } //End of method public static void starG(int n) { [ระดับปานกลาง] starG(11) *********** ** ** * * * * * * * * * * * * * * * * * * * * * * * * * * * ** ** *********** } //End of method public static void starH(int n) { [ระดับยาก] starH(6) * *** ***** ******* ********* *********** } //End of method © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  • 14. 126 Computer Programming using Java 09 - Advanced Statements and Applications public static void starI(int n) { [ระดับยาก] starI(11) *********** ********* ******* ***** *** * *** ***** ******* ********* *********** } //End of method public static void starJ(int n) { [ระดับยาก] starJ(11) * * ** ** *** *** **** **** ***** ***** *********** ***** ***** **** **** *** *** ** ** * * } //End of method //เรียกใช้ เมท็อดต่ างๆ ก่ อนหน้ านี ้ โดยเลือกเพียง 4 เมท็อดเท่ านัน (0 คะแนน ถ้ าไม่ ทา -5 คะแนน) ้ ํ public static void main(String[] args) { } //End of main } //End of class © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  • 15. Advanced Statements and Applications - 09 Computer Programming using Java 127 โจทย์ ข้อที่ 14 [ระดับยาก] จงเขียนเมท็อด revWords(…) ที่สมบรณ์ เพื่อเปิ ดอ่ านแฟมข้ อมลตามชื่อแฟม ู ้ ู ้ ที่ระบุจากพารามิเตอร์ โดยจะอ่ านประโยคทีละบรรทัดแล้ วกลับตัวอักขระภายในคํา (Words) ใดๆ ทุกคํา ของประโยคนัน โดยไม่ ต้องสลับตําแหน่ งของคํา เช่ น "We love you" จะได้ เป็ น "eW evol uoy" เป็ น ้ ต้ น พร้ อมทังแสดงผลลัพธ์ ท่ ได้ ออกทางจอภาพ (15 คะแนน) ้ ี message.txt ตัวอย่ างการแสดงผลบนจอภาพ I Love Java Programming I evoL avaJ gnimmargorP This is My First Program sihT si yM tsriF margorP And It also is my LAST Program dnA tI osla si ym TSAL margorP ... ... โจทย์ ข้อที่ 15 [ระดับเทพ] จงเขียนโปรแกรมภาษาจาวาให้ สมบรณ์ เพื่อสร้ างเมท็อดที่ใช้ สําหรั บประมวล ู ผลและดําเนินการเกี่ยวกับอาเรย์ ท่ ีมีสมาชิกทุกตัวเป็ นตัวเลขจํานวนเต็ม ตามรายละเอียดของเมท็อด ดังต่ อไปนี ้ โดยกําหนดให้ เมท็อดแต่ ละเมท็อดสามารถเรียกใช้ งานซึ่งกันและกันได้ (50 คะแนน) import java.util.Scanner; public class OperationsOfArrays { //จงเขียนเมท็อด removeDuplicatedMembers(…) เพื่อรั บอาเรย์ หนึ่งตัวใดๆ จากพารามิเตอร์ แล้ ว ทําการตัดสมาชิกตัวที่ซากันออกจากอาเรย์ แล้ วคืนค่ าอาเรย์ ตวใหม่ นัน (10 คะแนน) ํ้ ั ้ © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  • 16. 128 Computer Programming using Java 09 - Advanced Statements and Applications //จงเขียนเมท็อด unionArray(…) เพื่อรั บอาเรย์ สองตัวใดๆ จากพารามิเตอร์ แล้ วทําการหาค่ าสมา- ชิกที่ปรากฎอย่ ูในอาเรย์ ตัวที่หนึ่ งหรื ออาเรย์ ตัวที่สอง (ปรากฎที่ อาเรย์ ใดอาเรย์ หนึ่ งหรื อทังสอง ้ อาเรย์ ก็ได้ ) เก็บไว้ ในอาเรย์ ตวใหม่ แล้ วคืนค่ าอาเรย์ ตวใหม่ นัน (10 คะแนน) ั ั ้ //จงเขียนเมท็อด intersectArray(…) เพื่อรั บอาเรย์ สองตัวใดๆ จากพารามิเตอร์ แล้ วทําการหาค่ า สมาชิกที่ปรากฎอย่ ในอาเรย์ ตวที่หนึ่งและอาเรย์ ตวที่สอง (ต้ องปรากฎอย่ ทงสองอาเรย์ ) เก็บไว้ ในอา- ู ั ั ู ั้ เรย์ ตวใหม่ แล้ วคืนค่ าอาเรย์ ตวใหม่ นัน (10 คะแนน) ั ั ้ © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  • 17. Advanced Statements and Applications - 09 Computer Programming using Java 129 //จงเขียนเมท็อด complementArray(…) เพื่อรับอาเรย์ สองตัวใดๆ จากพารามิเตอร์ แล้ วทําการหาค่ า สมาชิกที่ปรากฎอย่ ูในอาเรย์ ตวที่หนึ่งเท่ านัน (โดยจะไม่ ปรากฎอย่ ในอาเรย์ ตวที่สอง) เก็บไว้ ในอาเรย์ ั ้ ู ั ตัวใหม่ แล้ วคืนค่ าอาเรย์ ตวใหม่ นัน (10 คะแนน) ั ้ © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  • 18. 130 Computer Programming using Java 09 - Advanced Statements and Applications //จงเขียนเมท็อด printArray(…) เพื่อรั บอาเรย์ หนึ่งตัวใดๆ จากพารามิเตอร์ แล้ วทําการแสดงค่ า สมาชิกทุกตัวของอาเรย์ นัน โดยให้ สมาชิกแต่ ละตัวคั่นด้ วยเครื่ องหมายจุลภาค (Comma) และ ้ สมาชิกทุกตัวจะต้ องอย่ ูภายในเครื่ องหมายปี กกาเปิ ด-ปิ ด ดังตัวอย่ างต่ อไปนี ้ { 1, 2, 3, 4, 5 } หรื อ { 5, 12, 7, 0 } เป็ นต้ น (5 คะแนน) public static void main(String[] args) { int a[] = { 7, 7, 2, 4, 5, 6, 5, 3, 2, 3 , 0, 10}; int b[] = { 2, 3, 4, 2, 1, 1, 4, 5, 6, 5, 3, 2, 3 }; //จงเรียกใช้ เมท็อดทุกเมท็อดที่เขียนขึนตามรายละเอียดดังต่ อไปนี ้ (5 คะแนน) ้ (1) แสดงสมาชิกของอาเรย์ a และอาเรย์ b ก่ อนการประมวลผล (2) แสดงสมาชิกของอาเรย์ a และอาเรย์ b หลังจากตัดสมาชิกตัวที่ซาออกไปแล้ ว ํ้ (3) แสดงผลลัพธ์ จากการ Union ของอาเรย์ a และอาเรย์ b (4) แสดงผลลัพธ์ จากการ Intersect ของอาเรย์ a และอาเรย์ b (5) แสดงผลลัพธ์ จากการ Complement ของอาเรย์ a และอาเรย์ b } //End of main } //End of class © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้