SlideShare a Scribd company logo
1 of 18
Download to read offline
ANSWER 08-09                                                        Computer Programming using Java             1
     CHAPTER                                               เมท็อด
 ANS-08                                                   (Methods)
โจทย์ ข้อที่ 1 [ระดับง่ าย]
1)                            6)                          11)                            16)
2)                            7)                          12)                            17)
3)                            8)                          13)                            18)
4)                            9)                          14)                            19)
5)                            10)                         15)                            20)

โจทย์ ข้อที่ 2 [ระดับง่ าย]
1)    public static                  double square(        double x           )


2)   protected static          double             root          (   int x                )


3)   private static           void            showName(      String name             )


4)   static       int                countX            (int num[], int x)

5)    public static                   double[]             revArray       (double num[])


โจทย์ ข้อที่ 3 [ระดับง่ าย]
1)           public static   printError(String msg) {
                                                                         ไม่มี return type (ควรเป็ น void)
                 System.err.println(msg);
             }
2)           protected static int flip(int n) {
                                                                         ไม่มี return value (เพิ่ม return n)
               if (n == 1) n = 0;
             }
3)           public static float max(long x, y) {
                                                                         พารามิเตอร์ y ไม่มีประเภทข้ อมูล
               if (x > y) return x;
               else return y;
             }
4)           private static void showChar() {                            แม้ return type เป็ น void ก็สามารถ
               for(char i = '0'; i <= '9'; i++) {
                 System.out.println(i);                                  เขียนคําสัง return ได้ แต่ไม่ต้องใส่
                                                                                    ่
               }
               return;                                                   ค่าที่จะคืนกลับ
             }
5)           static String calGrade(int x) {
               if (x > 80) return "A";                                   กรณี else ไม่มีคําสัง return
                                                                                             ่
               else if (x < 50) return "F";
               else System.out.println("C");
             }



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


    6)           double getLen(double dx, double dy) {                       ตัวแปร dx ประกาศซํ ้า
                   double dx = Math.abs(dx);
                   return Math.sqrt(dx*dx + dy*dy);
                 }
                                                                                          public กับ private
    7)           public private boolean checkLen(int x[], int y[]) {
                   return x.length == y.length;                                           อยูด้วยกันไม่ได้
                                                                                            ่
                 }
    8)           public float getLocationPoint() {
                   return 0.0;                                               คืนค่า double ซึงใหญ่กว่า float
                                                                                             ่
                 }
    9)           public static int fac(int x) {
                   if(x <= 1) return 1;                                      เมท็อดที่เรี ยกใช้ ตวมันเอง (Recursion)
                                                                                                 ั
                   else return fac(x – 1) * x;
                 }
    10)          int[] getThreeMember(int[] x) {
                   int n[] = { x[0], x[1], x[2] };                           การคืนค่าอาเรย์ไม่ต้องใส่วงเล็บเหลี่ยม
                   return n[];
                 }


    โจทย์ ข้อที่ 4 [ระดับง่ าย]
    1) public static       double addRealNumber(double a, double b, double c) {
               return a + b + c;
           }

    2)     public static void printX(int x) {
             System.out.println(x);
           }

    3)     public static double divideByInt(double x, int y) {
             return x / y;
           }


    4)     public static String fullName(String fname, String lname) {
             return fname + " " + lname;
           }



    โจทย์ ข้อที่ 5 [ระดับง่ าย]
     public static int fac(int n) {
       int f = 1;
       for (int i = 1; i <= n; i++) {
         f *= i;
       }
       return f;
     }




    © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์)
                                                ้
ANSWER 08-09                                                       Computer Programming using Java              3
โจทย์ ข้อที่ 6 [ระดับง่ าย]
 public static double findMax(double a[]) {
   double max = a[0];
   for (int i = 1; i < a.length; i++) {
     if(a[i] > max) max = a[i];
   }
   return max;
 }


โจทย์ ข้อที่ 7 [ระดับปานกลาง]
 public static int underX(int a[], int x) {
   int count = 0;
   for (int i = 0; i < a.length; i++) {
     if (a[i] < x) count++;
   }
   return count;
 }


โจทย์ ข้อที่ 8 [ระดับปานกลาง]
 public static boolean isPrime(int n) {
   for (int i = 2; i < n; i++) {
     if (n % i == 0) return false;
   }
   return true;
 }


โจทย์ ข้อที่ 9 [ระดับปานกลาง]
 public static int memberOfArray(int a[], int x) {
   for (int i = 0; i < a.length; i++) {
     if (a[i] == x) return i + 1;
   }
   return -1;
 }


โจทย์ ข้อที่ 10 [ระดับยาก]
 public static int[] appendArray(int a[], int b[]) {
   int ab[] = new int[a.length + b.length];
   for (int i = 0; i < ab.length; i++) {
     if (i < a.length) ab[i] = a[i];
     else ab[i] = b[i – a.length];
   }
   return ab;
 }




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


    โจทย์ ข้อที่ 11 [ระดับง่ าย]
     ข้ อ        เขียนคําสั่งเพื่อเรียกใช้ งานเมท็อด               ข้ อ     เขียนคําสั่งเพื่อเรียกใช้ งานเมท็อด
      1.     set(1, 2);                                            6.     boolean ck = check(2011);


      2.     int n = cals(1, 2.0F);                                7.     int f = flip(1, true);

             int x[] = { 1, 2, 3 };
      3.     String s = toString(x);
                                                                   8.     double n[] = inputArray();


      4.     int n[] = get(1, "Java");                             9.     showLogo();

             double n[] = { 2.0, 1.0 };
      5.     sort(n);
                                                                   10.    byte b = f(1, 2, 3);




    โจทย์ ข้อที่ 12 [ระดับง่ าย – ระดับยาก]
    import java.util.Scanner;
    public class ArrayUtility {
           //[ระดับง่ าย] เมท็อด main(…)
           public static void main(String[] args) {
               ข้ อ                        เขียนคําสั่งเพื่อเรียกใช้ งานเมท็อด                     เมท็อดที่เรียก
               1.     System.out.println(count(a, 2));                                             count(…)

               2.     System.out.println(mode(a));                                                 mode(…)

               3.     System.out.println(majority(a));                                             majority(…)

               4.     System.out.println(median(a));                                               median(…)

               5.     System.out.println(range(a));                                                range(…)

           } //End of main

           //[ระดับปานกลาง] เมท็อด swap(…)
            public static void swap(int a[], int i, int j) {
              int temp = a[i];
              a[i] = a[j];
              a[j] = temp;
            }




    © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์)
                                                ้
ANSWER 08-09                                                       Computer Programming using Java              5
    //[ระดับปานกลาง] เมท็อด sort(…)
     public static void sort(int a[]) {
       for (int i = a.length - 1; i >= 1; i--) {
         for (int j = 0; j < i; j++) {
           if (a[j] > a[j + 1]) {
             swap(a, j, j + 1);
           }
         }
       }
     }


    //[ระดับปานกลาง] เมท็อด count(…)
     public static int count(int a[], int k) {
       int c = 0;
       for (int i = 0; i < a.length; i++) {
         if (a[i] == k) c++;
       }
       return c;
     }


    //[ระดับยาก] เมท็อด mode(…)
     public static int mode(int a[]) {
       int iMode = 0;
       for (int i = 0; i < a.length; i++) {
         if (count(a, a[i]) > count(a, a[iMode])) iMode = i;
       }
       return a[iMode];
     }


    //[ระดับยาก] เมท็อด majority(…)
     public static int majority(int a[]) {
       if (count(a, mode(a)) > a.length / 2) return mode(a);
       else return -1;
     }


   //[ระดับปานกลาง] เมท็อด median(…)
     public static double median(int a[]) {
       double me = 0.0;
       sort(a);
       if (a.length % 2 == 0) {
         me = (a[a.length / 2] + a[a.length / 2 - 1]) / 2.0;
       } else {
         me = a[a.length / 2];
       }
       return me;
     }




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


       //[ระดับง่ าย] เมท็อด max(…)
         public static int max(int a[]) {
           sort(a);
           return a[a.length - 1];
         }


       //[ระดับง่ าย] เมท็อด min(…)
         public static int min(int a[]) {
           sort(a);
           return a[0];
         }


       //[ระดับง่ าย] เมท็อด range(…)
         public static int range(int a[]) {
           return max(a) - min(a);
         }

    } //End of class


    โจทย์ ข้อที่ 13 [ระดับยาก]
    import java.util.Scanner;
    public class OneMainManyMethods {
         public static int[] inputArray(String arrName) {
           Scanner kb = new Scanner(System.in);
           System.out.print("Enter " + arrName + "[] size: ");
           int a[] = new int[kb.nextInt()];
           for (int i = 0; i < a.length; i++) {
             System.out.print("Enter member: ");
             a[i] = kb.nextInt();
           }
           return a;
         }

         public static String isArrayEquals(int a[], int b[]) {
           if (a.length == b.length) {
             for (int i = 0; i < a.length; i++) {
               if (a[i] != b[i]) return "not equals";
             }
             return "equals";
           } else {
             return "not equals";
           }
         }




    © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์)
                                                ้
ANSWER 08-09                                                       Computer Programming using Java              7
     public static void sortArray(int a[]) {
       for (int i = a.length - 1; i >= 1; i--) {
         for (int j = 0; j < i; j++) {
           if (a[j] > a[j + 1]) {
             int t = a[j];
             a[j] = a[j + 1];
             a[j + 1] = t;
           }
         }
       }
     }

     public static void printArray(int a[], String arrName) {
       System.out.print(arrName + "[]: ");
       for (int i = 0; i < a.length; i++) {
         System.out.print(a[i] + " ");
       }
       System.out.println();
     }

     public static void main(String[] args) {
       int a[] = inputArray("a");
       int b[] = inputArray("b");
       System.out.println("Check array equals before sort: " +
         isArrayEquals(a, b));
       sortArray(a);
       sortArray(b);
       System.out.println("Check array equals after sort: " +
         isArrayEquals(a, b));
       printArray(a, "a");
       printArray(b, "b");
     }

} //End of class


โจทย์ ข้อที่ 14 [ระดับง่ าย]
  ข้ อ หมายเลขเมท็อด                 ผลลัพธ์                ข้ อ    หมายเลขเมท็อด              ผลลัพธ์
  1.               1           100.0                         9.        4 และ 2           100
  2.               7           2                            10.        7 และ 1           25.0
  3.               2           121                          11.             6            1.02
  4.               2           36                           12.          [Error]         [Error]
  5.               3           false                        13.             6            0.01
  6.               5           49                           14.             3            true
  7.               6           10.02                        15.             2            1
  8.               4           4.0




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


    โจทย์ ข้อที่ 15 [ระดับง่ าย]
    import java.util.Scanner;
    public class Overload {
        //เมท็อด main(…)
        public static void main(String[] args) {
              showName();
              showName("Noob Na-Chula");
              showName("Mr.", "Noob Na-Chula");
              showName("Noob Na-Chula", 5);

        } //End of main

        //เมท็อด showName(…)
          public static void showName() {
            System.out.println("Sudteen Rukjava");
          }


        //เมท็อด showName(…)
          public static void showName(String n) {
            System.out.println(n);
          }


        //เมท็อด showName(…)
          public static void showName(String t, String n) {
            System.out.println(t + " " + n);
          }


        //เมท็อด showName(…)
          public static void showName(String n, int x) {
            for (int i = 1; i <= x; i++) {
              System.out.println(n);
            }
          }

    } //End of class




    © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์)
                                                ้
ANSWER 08-09                                                       Computer Programming using Java              9
     CHAPTER                           คําสังแบบซับซ้อนและการประย ุกต์
                                            ่
 ANS-09                              (Advanced Statements and Applications)
โจทย์ ข้อที่ 1 [ระดับง่ าย]
1) n > 0 && n %               2 == 0 && n < 1000 && n != 12 && n != 112

2)    n > 0 && (n % 3 == 0 || n % 5 == 0) && n <= 100

3)    m == 4 || m == 6 || m == 9 || m == 11

4)    m >= 1 && m <= 12 && m != 2

5)    s.equalsIgnoreCase("yes") || s.equalsIgnoreCase("y")

โจทย์ ข้อที่ 2 [ระดับปานกลาง]
 public static int getDaysOfMonth(int m, int y) {
   if (m < 1 || m > 12) {
     return 0;
   } else if (m == 2) {
     if (((y % 4 == 0) && (y % 100 != 0)) || (y % 400 == 0)) {
       return 29;
     } else {
       return 28;
     }
   } else if (m == 4 || m == 6 || m == 9 || m == 11) {
     return 30;
   } else {
     return 31;
   }
 }


โจทย์ ข้อที่ 3 [ระดับปานกลาง]
 public static String getSize(int n) {
   if (n >= 0) {
     double m = Math.sqrt(n);
     System.out.println(m);
     if (m >= 0 && m <= 5) {
       if (2 * m > 7) return "Little";
       else return "Undefined";
     } else if (m > 5 && m <= 10) {
       if (3 * m > 22) return "Medium";
       else return "Undefined";
     } else if (m > 10 && m <= 25) {
       if (4 * m > 80) return "Very Big";
       else if (4 * m > 60 && 4 * m <= 80) return "Big";
       else return "Undefined";
     } else {
       return "Giant";
     }


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


          } else {
            System.out.println(n);
            return "Negative";
          }
      }


     โจทย์ ข้อที่ 4 [ระดับปานกลาง]
      public static boolean isEngStudent(String id, int cid) {
        if (id.length() == 10 && (cid + "").length() == 7) {
           if (id.substring(0, 3).equals("533") &&
                id.substring(8, 10).equals("21")) {
             if (cid / 100000 == 21 && cid % 1000 / 100 == 1) {
                return true;
      1   2  } else {
              3                   9 10       1  2           5
                return false; 5 2 1
      5 4 3 0 8 1 9                          2 1 1 0 1 9 1
             }
                เลขประจําตัวนิสิต
           } else {                                 รหัสวิชา
             return false;
           }
        } else {
           return false;
        }
      }



     โจทย์ ข้อที่ 5 [ระดับง่ าย]
     1)
           16 รอบ                                                   i            j            k           sum
                                                                                              3           12
                                                                                 8
                                                                                              4           13
     2)
           sum = 14, i = 2, j = 8, k = 4                                                      3           11
                                                                                 7
                                                                                              4           12
                                                                    1
     3)                                                                                       3           10
           sum = 9, i = 1, j = 5, k = 3                                          6
                                                                                              4           11
                                                                                              3            9
                                                                                 5
                                                                                              4           10
                                                                                              3           13
                                                                                 8
     โจทย์ ข้อที่ 6 [ระดับปานกลาง]                                                            4           14
      loopXYZ(2, 7, 1);                                                                       3           12
      2,7,1                                                                      7
                                                                                              4           13
      2,6,1                                                         2
      2,5,1                                                                                   3           11
                                                                                 6
      3,7,1                                                                                   4           12
      i = 5
      j = 7                                                                                   3           10
                                                                                 5
      k = 2                                                                                   4           11


     © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์)
                                                 ้
ANSWER 08-09                                                       Computer Programming using Java              11
โจทย์ ข้อที่ 7 [ระดับปานกลาง]
 public static void formulaAtoB(int a, int b) {
   for (int i = a; i <= b; i++) {
     for (int j = 1; j <= 12; j++) {
       System.out.println(i + " x " + j + " = " + (i * j));
     }
     System.out.println("------------");
   }
 }


โจทย์ ข้อที่ 8 [ระดับปานกลาง]
public class BarGraph {
  public static void main(String[] args) {
       showBarGraph(5, 2);
       showBarGraph(3, 4);
       showBarGraph(2, 6);

   } //End of main
   //showBarGraph(…)
     public static void showBarGraph(int x, int y) {
       for (int i = 1; i <= x; i++) {
         for (int j = y; j >= 1; j--) {
           System.out.print(i + "," + j + " ");
           for (int k = 1; k <= i * j; k++) {
             System.out.print("|");
           }
           System.out.println(" " + (i * j));
         }
       }
     }

} //End of class

โจทย์ ข้อที่ 9 [ระดับยาก]
import java.util.Scanner;
public class TheEquation {

   public static void main(String[] args) {
       double s[] = calEquation(10, 10, 10);
       for (int i = 0; i < s.length; i++) {
         System.out.println(s[i]);
       }

   } //End of main




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


        //calEquation(…)
          public static double[] calEquation(int a, int b, int c) {
            double s[] = new double[a * ((int)Math.abs(b - 5) / 5 + 1) *
                        ((int)Math.abs(c - 12) / 2 + 1)];
            int i = 0;
            for (int x = 1; x <= a; x++) {
              for (int y = 5; y <= b; y += 5) {
                for (int z = 12; z >= c; z -= 2) {
                  for (int n = 9; n >= 1; n--) {
                    s[i] += ((n * 2) - 1) * Math.pow(x,n) * Math.pow(y,10-n) *
                         Math.pow(z, n - 1);
                  }
                  i++;
                }
              }
            }
            return s;
          }

     } //End of class


     โจทย์ ข้อที่ 10 [ระดับง่ าย]                    โจทย์ ข้อที่ 11 [ระดับง่ าย]
      iterABC(1, 15, 2);                               0
      1        15       2                              10
      2        14       1                              1
      3        13       0                              2
      4        12       -1                             8
      5        11       -2                             2,8

      5 รอบ                                            4 รอบ



     โจทย์ ข้อที่ 12 [ระดับยาก]
     import java.util.Scanner;
     import java.util.io.*;
     public class Calculation {
        //เรียกใช้ เมท็อด toStringCalculation(…)
        public static void main(String[] args) {
             System.out.println(toStringCalculation(10, 20, 30));


        } //End of main

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


     © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์)
                                                 ้
ANSWER 08-09                                                           Computer Programming using Java          13
   //toStringCalculation(…)
     public static String toStringCalculation(int a, int b, int c) {
       int p = inputNumber("p");
       int q = inputNumber("q");
       int r = inputNumber("r");
       String text = "";
       for (int x = a, y = b, z = c;
         x + y + z < 1000;
         x += p, y += q, z += r) {
         double s = 0.0;
         for (int i = 10, dx = 10, dy = 1, dz = 10;
           i >= 1;
           i--, dx--, dy++, dz += 2) {
           s += i * Math.pow(x,dx) * Math.pow(y,dy) * Math.pow(z,dz);
         }
         text += x + "t" + y + "t" + z + "t => " + s + "n";
       }
       return text;
     }

} //End of class


โจทย์ ข้อที่ 13 [ระดับง่ าย - ระดับยาก]
public class Shape {
  public static void starA(int n) {                     [ระดับง่ าย]
       for (int i = 1; i <= n; i++) {
         for (int j = 1; j <= n; j++) {
           System.out.print("*");
         }
         System.out.println();
       }

   } //End of method
  public static void starB(int n) {                     [ระดับง่ าย]
       for (int i = 1; i <= n; i++) {
         for (int j = 1; j <= i; j++) {
           System.out.print("*");
         }
         System.out.println();
       }

   } //End of method

  public static void starC(int n) {                     [ระดับง่ าย]
       for (int i = n; i >= 1; i--) {
         for (int j = 1; j <= i; j++) {
           System.out.print("*");
         }
         System.out.println();
       }

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


       public static void starD(int n) {
            for (int i = n; i >= 1; i--) {
              for (int j = 1; j <= n; j++) {
                if (j < i) {
                  System.out.print(" ");
                } else {
                  System.out.print("*");
                }
              }
              System.out.println();
            }

        } //End of method
       public static void starE(int n) {                     [ระดับปานกลาง]
            for (int i = 1; i <= n; i++) {
              for (int j = 1; j <= n; j++) {
                if (j < i) {
                  System.out.print(" ");
                } else {
                  System.out.print("*");
                }
              }
              System.out.println();
            }

        } //End of method
       public static void starF(int n) {
                                                             [ระดับปานกลาง]
            for (int i = 1; i <= n; i++) {
              for (int j = 1; j <= n; j++) {
                if (i == 1 || i == n || j == 1 || j == n) {
                  System.out.print("*");
                } else {
                  System.out.print(" ");
                }
              }
              System.out.println();
            }

        } //End of method
       public static void starG(int n) {
                                                             [ระดับปานกลาง]
            for (int i = 1; i <= n; i++) {
              for (int j = 1; j <= n; j++) {
                if (i == 1 || i == n || j == 1 || j == n ||
                    j == i || j == n - i + 1) {
                  System.out.print("*");
                } else {
                  System.out.print(" ");
                }
              }
              System.out.println();
            }

        } //End of method

     © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์)
                                                 ้
ANSWER 08-09                                                       Computer Programming using Java              15
  public static void starH(int n) {                     [ระดับยาก]
       for (int i = 1; i <= n; i++) {
         for (int j = 1; j <= n - i; j++) {
           System.out.print(" ");
         }
         for (int j = 1; j <= (2 * i - 1); j++) {
           System.out.print("*");
         }
         System.out.println();
       }

   } //End of method

  public static void starI(int n) {                     [ระดับยาก]
       for (int i = 1; i <= n; i++) {
         for (int j = 1; j <= n; j++) {
           if ((j >= i && j <= n - i + 1) ||
              (j <= i && j >= n - i + 1)) {
             System.out.print("*");
           } else {
             System.out.print(" ");
           }
         }
         System.out.println();
       }

   } //End of method
  public static void starJ(int n) {                     [ระดับยาก]
       for (int i = 1; i <= n; i++) {
         for (int j = 1; j <= n; j++) {
           if ((i >= j && i <= n - j + 1) ||
              (i <= j && i >= n - j + 1)) {
             System.out.print("*");
           } else {
             System.out.print(" ");
           }
         }
         System.out.println();
       }

   } //End of method
   public static void main(String[] args) {
       starA(11);
       starB(11);
       starC(11);
       starD(11);

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




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


     โจทย์ ข้อที่ 14 [ระดับยาก]
      public static void revWords(String file) throws IOException {
        Scanner in = new Scanner(new File(file));
        while (in.hasNext()) {
          String line = in.nextLine();
          String text = "";
          while (line.length() > 0) {
            if (!line.substring(0, 1).equals(" ")) {
              String word = "";
              if (line.indexOf(" ") > 0) {
                word = line.substring(0, line.indexOf(" "));
              } else {
                word = line.substring(0, line.length());
              }
              for (int j = word.length() - 1; j >= 0; j--) {
                text = text + word.substring(j, j + 1);
              }
              line = line.substring(word.length());
            } else { //line.substring(0, 1) is equals " "
              text = text + line.substring(0, 1);
              line = line.substring(1);
            }
          }//End of while
          System.out.println(text);
        }//End of while
      }


     โจทย์ ข้อที่ 15 [ระดับเทพ]
     import java.util.Scanner;
     public class OperationsOfArrays {
         //เมท็อด removeDuplicatedMembers(…)
         public static int[] removeDuplicatedMembers(int a[]) {
           int t[] = new int[a.length];
           int index = 0;
           for(int i = 0; i < a.length; i++) {
             if (i == 0) {
               t[index] = a[i];
               index++;
             } else {
               int j;
               for (j = 0; j < index; j++) {
                 if (t[j] == a[i]) break;
               }
               if (j == index) {
                 t[index] = a[i];
                 index++;
               }
             }
           }
           int n[] = new int[index];
           for (int i = 0; i < n.length; i++) n[i] = t[i];
           return n;
         }


     © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์)
                                                 ้
ANSWER 08-09                                                       Computer Programming using Java              17
    //เมท็อด unionArray(…)
    public static int[] unionArray(int a[], int b[]) {
      int n[] = new int[a.length + b.length];
      for (int i = 0; i < n.length; i++) {
        if (i < a.length) n[i] = a[i];
        else n[i] = b[i - a.length];
      }
      n = removeDuplicatedMembers(n);
      return n;
    }


    //เมท็อด intersectArray(…)
    public static int[] intersectArray(int a[], int b[]) {
      a = removeDuplicatedMembers(a);
      b = removeDuplicatedMembers(b);
      int t[] = new int[a.length];
      int index = 0;
      for (int i = 0; i < a.length; i++) {
        for (int j = 0; j < b.length; j++) {
          if (a[i] == b[j]) {
            t[index] = a[i];
            index++;
            break;
          }
        }
      }
      int n[] = new int[index];
      for (int i = 0; i < n.length; i++) n[i] = t[i];
      return n;
    }


    //เมท็อด complementArray(…)
    public static int[] complementArray(int a[], int b[]) {
      a = removeDuplicatedMembers(a);
      b = removeDuplicatedMembers(b);
      int t[] = new int[a.length];
      int index = 0;
      for (int i = 0; i < a.length; i++) {
        int j = 0;
        while (j < b.length) {
          if (a[i] == b[j]) break;
          j++;
        }
        if (j == b.length) {
          t[index] = a[i];
          index++;
        }
      }
      int n[] = new int[index];
      for (int i = 0; i < n.length; i++) n[i] = t[i];
      return n;
    }


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


         //เมท็อด printArray(…)
         public static void printArray(int a[]) {
           for (int i = 0; i < a.length; i++) {
             String comma = ", ";
             if (i == 0) System.out.print("{ ");
             if (i == a.length - 1) comma = " }n";
             System.out.print(a[i] + comma);
           }
         }


       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 };
            printArray(a);
            printArray(b);
            printArray(removeDuplicatedMembers(a));
            printArray(removeDuplicatedMembers(b));
            printArray(unionArray(a, b));
            printArray(intersectArray(a, b));
            printArray(complementArray(a, b));

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




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

More Related Content

What's hot

Java-Answer Chapter 10-11 (For Print)
Java-Answer Chapter 10-11 (For Print)Java-Answer Chapter 10-11 (For Print)
Java-Answer Chapter 10-11 (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
 
Java-Answer Chapter 08-09 (For Print)
Java-Answer Chapter 08-09 (For Print)Java-Answer Chapter 08-09 (For Print)
Java-Answer Chapter 08-09 (For Print)Wongyos 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-Answer Chapter 12-13 (For Print)
Java-Answer Chapter 12-13 (For Print)Java-Answer Chapter 12-13 (For Print)
Java-Answer Chapter 12-13 (For Print)Wongyos 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-Chapter 12 Classes and Objects
Java-Chapter 12 Classes and ObjectsJava-Chapter 12 Classes and Objects
Java-Chapter 12 Classes and ObjectsWongyos Keardsri
 
Java-Chapter 01 Introduction to Java Programming
Java-Chapter 01 Introduction to Java ProgrammingJava-Chapter 01 Introduction to Java Programming
Java-Chapter 01 Introduction to Java ProgrammingWongyos Keardsri
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นคลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นFinian Nian
 
Discrete-Chapter 09 Algorithms
Discrete-Chapter 09 AlgorithmsDiscrete-Chapter 09 Algorithms
Discrete-Chapter 09 AlgorithmsWongyos Keardsri
 
สูตรอนุพันธ์ของฟังก์ชัน อนินท์ญา
สูตรอนุพันธ์ของฟังก์ชัน อนินท์ญาสูตรอนุพันธ์ของฟังก์ชัน อนินท์ญา
สูตรอนุพันธ์ของฟังก์ชัน อนินท์ญาKanomwan Jeab
 
ค่าสูงสุดสัมบูรณ์และค่าต่ำสุดสัมบูรณ์ของฟังก์ชัน
ค่าสูงสุดสัมบูรณ์และค่าต่ำสุดสัมบูรณ์ของฟังก์ชันค่าสูงสุดสัมบูรณ์และค่าต่ำสุดสัมบูรณ์ของฟังก์ชัน
ค่าสูงสุดสัมบูรณ์และค่าต่ำสุดสัมบูรณ์ของฟังก์ชันsawed kodnara
 
อนุพันธ์
อนุพันธ์อนุพันธ์
อนุพันธ์krurutsamee
 
การอินทีเกรต
การอินทีเกรตการอินทีเกรต
การอินทีเกรตANNRockART
 
6.Flow control
6.Flow control6.Flow control
6.Flow controlUsableLabs
 
เฉลยอินทิเกรต
เฉลยอินทิเกรตเฉลยอินทิเกรต
เฉลยอินทิเกรตkrurutsamee
 
Java Programming [8/12] : Arrays and Collection
Java Programming [8/12] : Arrays and CollectionJava Programming [8/12] : Arrays and Collection
Java Programming [8/12] : Arrays and CollectionIMC Institute
 
แบบฝึกทักษะแคลคูลัสเบื้องต้น สว.กจ
แบบฝึกทักษะแคลคูลัสเบื้องต้น สว.กจแบบฝึกทักษะแคลคูลัสเบื้องต้น สว.กจ
แบบฝึกทักษะแคลคูลัสเบื้องต้น สว.กจชัชชญา ช่างเจริญ
 

What's hot (20)

Java-Answer Chapter 10-11 (For Print)
Java-Answer Chapter 10-11 (For Print)Java-Answer Chapter 10-11 (For Print)
Java-Answer Chapter 10-11 (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)
 
Java-Answer Chapter 08-09 (For Print)
Java-Answer Chapter 08-09 (For Print)Java-Answer Chapter 08-09 (For Print)
Java-Answer Chapter 08-09 (For Print)
 
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 12-13 (For Print)
Java-Answer Chapter 12-13 (For Print)Java-Answer Chapter 12-13 (For Print)
Java-Answer Chapter 12-13 (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 05-06 (For Print)
 
Java-Chapter 12 Classes and Objects
Java-Chapter 12 Classes and ObjectsJava-Chapter 12 Classes and Objects
Java-Chapter 12 Classes and Objects
 
Java-Chapter 01 Introduction to Java Programming
Java-Chapter 01 Introduction to Java ProgrammingJava-Chapter 01 Introduction to Java Programming
Java-Chapter 01 Introduction to Java Programming
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นคลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
 
Discrete-Chapter 09 Algorithms
Discrete-Chapter 09 AlgorithmsDiscrete-Chapter 09 Algorithms
Discrete-Chapter 09 Algorithms
 
สูตรอนุพันธ์ของฟังก์ชัน อนินท์ญา
สูตรอนุพันธ์ของฟังก์ชัน อนินท์ญาสูตรอนุพันธ์ของฟังก์ชัน อนินท์ญา
สูตรอนุพันธ์ของฟังก์ชัน อนินท์ญา
 
ค่าสูงสุดสัมบูรณ์และค่าต่ำสุดสัมบูรณ์ของฟังก์ชัน
ค่าสูงสุดสัมบูรณ์และค่าต่ำสุดสัมบูรณ์ของฟังก์ชันค่าสูงสุดสัมบูรณ์และค่าต่ำสุดสัมบูรณ์ของฟังก์ชัน
ค่าสูงสุดสัมบูรณ์และค่าต่ำสุดสัมบูรณ์ของฟังก์ชัน
 
อนุพันธ์
อนุพันธ์อนุพันธ์
อนุพันธ์
 
ปริพันธ์
ปริพันธ์ปริพันธ์
ปริพันธ์
 
การอินทีเกรต
การอินทีเกรตการอินทีเกรต
การอินทีเกรต
 
6.Flow control
6.Flow control6.Flow control
6.Flow control
 
662305 08
662305 08662305 08
662305 08
 
เฉลยอินทิเกรต
เฉลยอินทิเกรตเฉลยอินทิเกรต
เฉลยอินทิเกรต
 
Java Programming [8/12] : Arrays and Collection
Java Programming [8/12] : Arrays and CollectionJava Programming [8/12] : Arrays and Collection
Java Programming [8/12] : Arrays and Collection
 
แบบฝึกทักษะแคลคูลัสเบื้องต้น สว.กจ
แบบฝึกทักษะแคลคูลัสเบื้องต้น สว.กจแบบฝึกทักษะแคลคูลัสเบื้องต้น สว.กจ
แบบฝึกทักษะแคลคูลัสเบื้องต้น สว.กจ
 

Similar to Java-Answer Chapter 08-09

คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นคลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นFinian Nian
 
Java Programming: อะเรย์และคอลเล็กชั่น
Java Programming: อะเรย์และคอลเล็กชั่นJava Programming: อะเรย์และคอลเล็กชั่น
Java Programming: อะเรย์และคอลเล็กชั่นThanachart Numnonda
 
Mobile Game and Application with J2ME
Mobile Gameand Application withJ2MEMobile Gameand Application withJ2ME
Mobile Game and Application with J2MEJenchoke Tachagomain
 
Mobile Game and Application with J2ME
Mobile Gameand Application with J2MEMobile Gameand Application with J2ME
Mobile Game and Application with J2MEJenchoke Tachagomain
 
นางสาว จรัญญา-กฤตย์ณัชช์-59170236-กลุ่ม-1
นางสาว จรัญญา-กฤตย์ณัชช์-59170236-กลุ่ม-1นางสาว จรัญญา-กฤตย์ณัชช์-59170236-กลุ่ม-1
นางสาว จรัญญา-กฤตย์ณัชช์-59170236-กลุ่ม-1หน่อย หน่อย
 
09 multi arrays
09 multi arrays09 multi arrays
09 multi arraysa-num Sara
 

Similar to Java-Answer Chapter 08-09 (9)

คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นคลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
 
07 methods
07 methods07 methods
07 methods
 
Java Programming: อะเรย์และคอลเล็กชั่น
Java Programming: อะเรย์และคอลเล็กชั่นJava Programming: อะเรย์และคอลเล็กชั่น
Java Programming: อะเรย์และคอลเล็กชั่น
 
Mobile Game and Application with J2ME
Mobile Gameand Application withJ2MEMobile Gameand Application withJ2ME
Mobile Game and Application with J2ME
 
Mobile Game and Application with J2ME
Mobile Gameand Application with J2MEMobile Gameand Application with J2ME
Mobile Game and Application with J2ME
 
J2ME Game Concept
J2ME  Game ConceptJ2ME  Game Concept
J2ME Game Concept
 
นางสาว จรัญญา-กฤตย์ณัชช์-59170236-กลุ่ม-1
นางสาว จรัญญา-กฤตย์ณัชช์-59170236-กลุ่ม-1นางสาว จรัญญา-กฤตย์ณัชช์-59170236-กลุ่ม-1
นางสาว จรัญญา-กฤตย์ณัชช์-59170236-กลุ่ม-1
 
Computer Programming 3
Computer Programming 3 Computer Programming 3
Computer Programming 3
 
09 multi arrays
09 multi arrays09 multi arrays
09 multi arrays
 

More from Wongyos Keardsri

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
 
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 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
 

More from Wongyos Keardsri (20)

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
 
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
 
IP address anonymization
IP address anonymizationIP address anonymization
IP address anonymization
 
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 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-Answer Chapter 08-09

  • 1. ANSWER 08-09 Computer Programming using Java 1 CHAPTER เมท็อด ANS-08 (Methods) โจทย์ ข้อที่ 1 [ระดับง่ าย] 1) 6) 11) 16) 2) 7) 12) 17) 3) 8) 13) 18) 4) 9) 14) 19) 5) 10) 15) 20) โจทย์ ข้อที่ 2 [ระดับง่ าย] 1) public static double square( double x ) 2) protected static double root ( int x ) 3) private static void showName( String name ) 4) static int countX (int num[], int x) 5) public static double[] revArray (double num[]) โจทย์ ข้อที่ 3 [ระดับง่ าย] 1) public static printError(String msg) { ไม่มี return type (ควรเป็ น void) System.err.println(msg); } 2) protected static int flip(int n) { ไม่มี return value (เพิ่ม return n) if (n == 1) n = 0; } 3) public static float max(long x, y) { พารามิเตอร์ y ไม่มีประเภทข้ อมูล if (x > y) return x; else return y; } 4) private static void showChar() { แม้ return type เป็ น void ก็สามารถ for(char i = '0'; i <= '9'; i++) { System.out.println(i); เขียนคําสัง return ได้ แต่ไม่ต้องใส่ ่ } return; ค่าที่จะคืนกลับ } 5) static String calGrade(int x) { if (x > 80) return "A"; กรณี else ไม่มีคําสัง return ่ else if (x < 50) return "F"; else System.out.println("C"); } © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  • 2. 2 Computer Programming using Java ANSWER 08-09 6) double getLen(double dx, double dy) { ตัวแปร dx ประกาศซํ ้า double dx = Math.abs(dx); return Math.sqrt(dx*dx + dy*dy); } public กับ private 7) public private boolean checkLen(int x[], int y[]) { return x.length == y.length; อยูด้วยกันไม่ได้ ่ } 8) public float getLocationPoint() { return 0.0; คืนค่า double ซึงใหญ่กว่า float ่ } 9) public static int fac(int x) { if(x <= 1) return 1; เมท็อดที่เรี ยกใช้ ตวมันเอง (Recursion) ั else return fac(x – 1) * x; } 10) int[] getThreeMember(int[] x) { int n[] = { x[0], x[1], x[2] }; การคืนค่าอาเรย์ไม่ต้องใส่วงเล็บเหลี่ยม return n[]; } โจทย์ ข้อที่ 4 [ระดับง่ าย] 1) public static double addRealNumber(double a, double b, double c) { return a + b + c; } 2) public static void printX(int x) { System.out.println(x); } 3) public static double divideByInt(double x, int y) { return x / y; } 4) public static String fullName(String fname, String lname) { return fname + " " + lname; } โจทย์ ข้อที่ 5 [ระดับง่ าย] public static int fac(int n) { int f = 1; for (int i = 1; i <= n; i++) { f *= i; } return f; } © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  • 3. ANSWER 08-09 Computer Programming using Java 3 โจทย์ ข้อที่ 6 [ระดับง่ าย] public static double findMax(double a[]) { double max = a[0]; for (int i = 1; i < a.length; i++) { if(a[i] > max) max = a[i]; } return max; } โจทย์ ข้อที่ 7 [ระดับปานกลาง] public static int underX(int a[], int x) { int count = 0; for (int i = 0; i < a.length; i++) { if (a[i] < x) count++; } return count; } โจทย์ ข้อที่ 8 [ระดับปานกลาง] public static boolean isPrime(int n) { for (int i = 2; i < n; i++) { if (n % i == 0) return false; } return true; } โจทย์ ข้อที่ 9 [ระดับปานกลาง] public static int memberOfArray(int a[], int x) { for (int i = 0; i < a.length; i++) { if (a[i] == x) return i + 1; } return -1; } โจทย์ ข้อที่ 10 [ระดับยาก] public static int[] appendArray(int a[], int b[]) { int ab[] = new int[a.length + b.length]; for (int i = 0; i < ab.length; i++) { if (i < a.length) ab[i] = a[i]; else ab[i] = b[i – a.length]; } return ab; } © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  • 4. 4 Computer Programming using Java ANSWER 08-09 โจทย์ ข้อที่ 11 [ระดับง่ าย] ข้ อ เขียนคําสั่งเพื่อเรียกใช้ งานเมท็อด ข้ อ เขียนคําสั่งเพื่อเรียกใช้ งานเมท็อด 1. set(1, 2); 6. boolean ck = check(2011); 2. int n = cals(1, 2.0F); 7. int f = flip(1, true); int x[] = { 1, 2, 3 }; 3. String s = toString(x); 8. double n[] = inputArray(); 4. int n[] = get(1, "Java"); 9. showLogo(); double n[] = { 2.0, 1.0 }; 5. sort(n); 10. byte b = f(1, 2, 3); โจทย์ ข้อที่ 12 [ระดับง่ าย – ระดับยาก] import java.util.Scanner; public class ArrayUtility { //[ระดับง่ าย] เมท็อด main(…) public static void main(String[] args) { ข้ อ เขียนคําสั่งเพื่อเรียกใช้ งานเมท็อด เมท็อดที่เรียก 1. System.out.println(count(a, 2)); count(…) 2. System.out.println(mode(a)); mode(…) 3. System.out.println(majority(a)); majority(…) 4. System.out.println(median(a)); median(…) 5. System.out.println(range(a)); range(…) } //End of main //[ระดับปานกลาง] เมท็อด swap(…) public static void swap(int a[], int i, int j) { int temp = a[i]; a[i] = a[j]; a[j] = temp; } © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  • 5. ANSWER 08-09 Computer Programming using Java 5 //[ระดับปานกลาง] เมท็อด sort(…) public static void sort(int a[]) { for (int i = a.length - 1; i >= 1; i--) { for (int j = 0; j < i; j++) { if (a[j] > a[j + 1]) { swap(a, j, j + 1); } } } } //[ระดับปานกลาง] เมท็อด count(…) public static int count(int a[], int k) { int c = 0; for (int i = 0; i < a.length; i++) { if (a[i] == k) c++; } return c; } //[ระดับยาก] เมท็อด mode(…) public static int mode(int a[]) { int iMode = 0; for (int i = 0; i < a.length; i++) { if (count(a, a[i]) > count(a, a[iMode])) iMode = i; } return a[iMode]; } //[ระดับยาก] เมท็อด majority(…) public static int majority(int a[]) { if (count(a, mode(a)) > a.length / 2) return mode(a); else return -1; } //[ระดับปานกลาง] เมท็อด median(…) public static double median(int a[]) { double me = 0.0; sort(a); if (a.length % 2 == 0) { me = (a[a.length / 2] + a[a.length / 2 - 1]) / 2.0; } else { me = a[a.length / 2]; } return me; } © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  • 6. 6 Computer Programming using Java ANSWER 08-09 //[ระดับง่ าย] เมท็อด max(…) public static int max(int a[]) { sort(a); return a[a.length - 1]; } //[ระดับง่ าย] เมท็อด min(…) public static int min(int a[]) { sort(a); return a[0]; } //[ระดับง่ าย] เมท็อด range(…) public static int range(int a[]) { return max(a) - min(a); } } //End of class โจทย์ ข้อที่ 13 [ระดับยาก] import java.util.Scanner; public class OneMainManyMethods { public static int[] inputArray(String arrName) { Scanner kb = new Scanner(System.in); System.out.print("Enter " + arrName + "[] size: "); int a[] = new int[kb.nextInt()]; for (int i = 0; i < a.length; i++) { System.out.print("Enter member: "); a[i] = kb.nextInt(); } return a; } public static String isArrayEquals(int a[], int b[]) { if (a.length == b.length) { for (int i = 0; i < a.length; i++) { if (a[i] != b[i]) return "not equals"; } return "equals"; } else { return "not equals"; } } © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  • 7. ANSWER 08-09 Computer Programming using Java 7 public static void sortArray(int a[]) { for (int i = a.length - 1; i >= 1; i--) { for (int j = 0; j < i; j++) { if (a[j] > a[j + 1]) { int t = a[j]; a[j] = a[j + 1]; a[j + 1] = t; } } } } public static void printArray(int a[], String arrName) { System.out.print(arrName + "[]: "); for (int i = 0; i < a.length; i++) { System.out.print(a[i] + " "); } System.out.println(); } public static void main(String[] args) { int a[] = inputArray("a"); int b[] = inputArray("b"); System.out.println("Check array equals before sort: " + isArrayEquals(a, b)); sortArray(a); sortArray(b); System.out.println("Check array equals after sort: " + isArrayEquals(a, b)); printArray(a, "a"); printArray(b, "b"); } } //End of class โจทย์ ข้อที่ 14 [ระดับง่ าย] ข้ อ หมายเลขเมท็อด ผลลัพธ์ ข้ อ หมายเลขเมท็อด ผลลัพธ์ 1. 1 100.0 9. 4 และ 2 100 2. 7 2 10. 7 และ 1 25.0 3. 2 121 11. 6 1.02 4. 2 36 12. [Error] [Error] 5. 3 false 13. 6 0.01 6. 5 49 14. 3 true 7. 6 10.02 15. 2 1 8. 4 4.0 © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  • 8. 8 Computer Programming using Java ANSWER 08-09 โจทย์ ข้อที่ 15 [ระดับง่ าย] import java.util.Scanner; public class Overload { //เมท็อด main(…) public static void main(String[] args) { showName(); showName("Noob Na-Chula"); showName("Mr.", "Noob Na-Chula"); showName("Noob Na-Chula", 5); } //End of main //เมท็อด showName(…) public static void showName() { System.out.println("Sudteen Rukjava"); } //เมท็อด showName(…) public static void showName(String n) { System.out.println(n); } //เมท็อด showName(…) public static void showName(String t, String n) { System.out.println(t + " " + n); } //เมท็อด showName(…) public static void showName(String n, int x) { for (int i = 1; i <= x; i++) { System.out.println(n); } } } //End of class © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  • 9. ANSWER 08-09 Computer Programming using Java 9 CHAPTER คําสังแบบซับซ้อนและการประย ุกต์ ่ ANS-09 (Advanced Statements and Applications) โจทย์ ข้อที่ 1 [ระดับง่ าย] 1) n > 0 && n % 2 == 0 && n < 1000 && n != 12 && n != 112 2) n > 0 && (n % 3 == 0 || n % 5 == 0) && n <= 100 3) m == 4 || m == 6 || m == 9 || m == 11 4) m >= 1 && m <= 12 && m != 2 5) s.equalsIgnoreCase("yes") || s.equalsIgnoreCase("y") โจทย์ ข้อที่ 2 [ระดับปานกลาง] public static int getDaysOfMonth(int m, int y) { if (m < 1 || m > 12) { return 0; } else if (m == 2) { if (((y % 4 == 0) && (y % 100 != 0)) || (y % 400 == 0)) { return 29; } else { return 28; } } else if (m == 4 || m == 6 || m == 9 || m == 11) { return 30; } else { return 31; } } โจทย์ ข้อที่ 3 [ระดับปานกลาง] public static String getSize(int n) { if (n >= 0) { double m = Math.sqrt(n); System.out.println(m); if (m >= 0 && m <= 5) { if (2 * m > 7) return "Little"; else return "Undefined"; } else if (m > 5 && m <= 10) { if (3 * m > 22) return "Medium"; else return "Undefined"; } else if (m > 10 && m <= 25) { if (4 * m > 80) return "Very Big"; else if (4 * m > 60 && 4 * m <= 80) return "Big"; else return "Undefined"; } else { return "Giant"; } © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  • 10. 10 Computer Programming using Java ANSWER 08-09 } else { System.out.println(n); return "Negative"; } } โจทย์ ข้อที่ 4 [ระดับปานกลาง] public static boolean isEngStudent(String id, int cid) { if (id.length() == 10 && (cid + "").length() == 7) { if (id.substring(0, 3).equals("533") && id.substring(8, 10).equals("21")) { if (cid / 100000 == 21 && cid % 1000 / 100 == 1) { return true; 1 2 } else { 3 9 10 1 2 5 return false; 5 2 1 5 4 3 0 8 1 9 2 1 1 0 1 9 1 } เลขประจําตัวนิสิต } else { รหัสวิชา return false; } } else { return false; } } โจทย์ ข้อที่ 5 [ระดับง่ าย] 1) 16 รอบ i j k sum 3 12 8 4 13 2) sum = 14, i = 2, j = 8, k = 4 3 11 7 4 12 1 3) 3 10 sum = 9, i = 1, j = 5, k = 3 6 4 11 3 9 5 4 10 3 13 8 โจทย์ ข้อที่ 6 [ระดับปานกลาง] 4 14 loopXYZ(2, 7, 1); 3 12 2,7,1 7 4 13 2,6,1 2 2,5,1 3 11 6 3,7,1 4 12 i = 5 j = 7 3 10 5 k = 2 4 11 © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  • 11. ANSWER 08-09 Computer Programming using Java 11 โจทย์ ข้อที่ 7 [ระดับปานกลาง] public static void formulaAtoB(int a, int b) { for (int i = a; i <= b; i++) { for (int j = 1; j <= 12; j++) { System.out.println(i + " x " + j + " = " + (i * j)); } System.out.println("------------"); } } โจทย์ ข้อที่ 8 [ระดับปานกลาง] public class BarGraph { public static void main(String[] args) { showBarGraph(5, 2); showBarGraph(3, 4); showBarGraph(2, 6); } //End of main //showBarGraph(…) public static void showBarGraph(int x, int y) { for (int i = 1; i <= x; i++) { for (int j = y; j >= 1; j--) { System.out.print(i + "," + j + " "); for (int k = 1; k <= i * j; k++) { System.out.print("|"); } System.out.println(" " + (i * j)); } } } } //End of class โจทย์ ข้อที่ 9 [ระดับยาก] import java.util.Scanner; public class TheEquation { public static void main(String[] args) { double s[] = calEquation(10, 10, 10); for (int i = 0; i < s.length; i++) { System.out.println(s[i]); } } //End of main © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  • 12. 12 Computer Programming using Java ANSWER 08-09 //calEquation(…) public static double[] calEquation(int a, int b, int c) { double s[] = new double[a * ((int)Math.abs(b - 5) / 5 + 1) * ((int)Math.abs(c - 12) / 2 + 1)]; int i = 0; for (int x = 1; x <= a; x++) { for (int y = 5; y <= b; y += 5) { for (int z = 12; z >= c; z -= 2) { for (int n = 9; n >= 1; n--) { s[i] += ((n * 2) - 1) * Math.pow(x,n) * Math.pow(y,10-n) * Math.pow(z, n - 1); } i++; } } } return s; } } //End of class โจทย์ ข้อที่ 10 [ระดับง่ าย] โจทย์ ข้อที่ 11 [ระดับง่ าย] iterABC(1, 15, 2); 0 1 15 2 10 2 14 1 1 3 13 0 2 4 12 -1 8 5 11 -2 2,8 5 รอบ 4 รอบ โจทย์ ข้อที่ 12 [ระดับยาก] import java.util.Scanner; import java.util.io.*; public class Calculation { //เรียกใช้ เมท็อด toStringCalculation(…) public static void main(String[] args) { System.out.println(toStringCalculation(10, 20, 30)); } //End of main public static int inputNumber(String s) { Scanner kb = new Scanner(System.in); System.out.print("Enter " + s + ": "); return kb.nextInt(); } © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  • 13. ANSWER 08-09 Computer Programming using Java 13 //toStringCalculation(…) public static String toStringCalculation(int a, int b, int c) { int p = inputNumber("p"); int q = inputNumber("q"); int r = inputNumber("r"); String text = ""; for (int x = a, y = b, z = c; x + y + z < 1000; x += p, y += q, z += r) { double s = 0.0; for (int i = 10, dx = 10, dy = 1, dz = 10; i >= 1; i--, dx--, dy++, dz += 2) { s += i * Math.pow(x,dx) * Math.pow(y,dy) * Math.pow(z,dz); } text += x + "t" + y + "t" + z + "t => " + s + "n"; } return text; } } //End of class โจทย์ ข้อที่ 13 [ระดับง่ าย - ระดับยาก] public class Shape { public static void starA(int n) { [ระดับง่ าย] for (int i = 1; i <= n; i++) { for (int j = 1; j <= n; j++) { System.out.print("*"); } System.out.println(); } } //End of method public static void starB(int n) { [ระดับง่ าย] for (int i = 1; i <= n; i++) { for (int j = 1; j <= i; j++) { System.out.print("*"); } System.out.println(); } } //End of method public static void starC(int n) { [ระดับง่ าย] for (int i = n; i >= 1; i--) { for (int j = 1; j <= i; j++) { System.out.print("*"); } System.out.println(); } } //End of method [ระดับปานกลาง] © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  • 14. 14 Computer Programming using Java ANSWER 08-09 public static void starD(int n) { for (int i = n; i >= 1; i--) { for (int j = 1; j <= n; j++) { if (j < i) { System.out.print(" "); } else { System.out.print("*"); } } System.out.println(); } } //End of method public static void starE(int n) { [ระดับปานกลาง] for (int i = 1; i <= n; i++) { for (int j = 1; j <= n; j++) { if (j < i) { System.out.print(" "); } else { System.out.print("*"); } } System.out.println(); } } //End of method public static void starF(int n) { [ระดับปานกลาง] for (int i = 1; i <= n; i++) { for (int j = 1; j <= n; j++) { if (i == 1 || i == n || j == 1 || j == n) { System.out.print("*"); } else { System.out.print(" "); } } System.out.println(); } } //End of method public static void starG(int n) { [ระดับปานกลาง] for (int i = 1; i <= n; i++) { for (int j = 1; j <= n; j++) { if (i == 1 || i == n || j == 1 || j == n || j == i || j == n - i + 1) { System.out.print("*"); } else { System.out.print(" "); } } System.out.println(); } } //End of method © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  • 15. ANSWER 08-09 Computer Programming using Java 15 public static void starH(int n) { [ระดับยาก] for (int i = 1; i <= n; i++) { for (int j = 1; j <= n - i; j++) { System.out.print(" "); } for (int j = 1; j <= (2 * i - 1); j++) { System.out.print("*"); } System.out.println(); } } //End of method public static void starI(int n) { [ระดับยาก] for (int i = 1; i <= n; i++) { for (int j = 1; j <= n; j++) { if ((j >= i && j <= n - i + 1) || (j <= i && j >= n - i + 1)) { System.out.print("*"); } else { System.out.print(" "); } } System.out.println(); } } //End of method public static void starJ(int n) { [ระดับยาก] for (int i = 1; i <= n; i++) { for (int j = 1; j <= n; j++) { if ((i >= j && i <= n - j + 1) || (i <= j && i >= n - j + 1)) { System.out.print("*"); } else { System.out.print(" "); } } System.out.println(); } } //End of method public static void main(String[] args) { starA(11); starB(11); starC(11); starD(11); } //End of main } //End of class © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  • 16. 16 Computer Programming using Java ANSWER 08-09 โจทย์ ข้อที่ 14 [ระดับยาก] public static void revWords(String file) throws IOException { Scanner in = new Scanner(new File(file)); while (in.hasNext()) { String line = in.nextLine(); String text = ""; while (line.length() > 0) { if (!line.substring(0, 1).equals(" ")) { String word = ""; if (line.indexOf(" ") > 0) { word = line.substring(0, line.indexOf(" ")); } else { word = line.substring(0, line.length()); } for (int j = word.length() - 1; j >= 0; j--) { text = text + word.substring(j, j + 1); } line = line.substring(word.length()); } else { //line.substring(0, 1) is equals " " text = text + line.substring(0, 1); line = line.substring(1); } }//End of while System.out.println(text); }//End of while } โจทย์ ข้อที่ 15 [ระดับเทพ] import java.util.Scanner; public class OperationsOfArrays { //เมท็อด removeDuplicatedMembers(…) public static int[] removeDuplicatedMembers(int a[]) { int t[] = new int[a.length]; int index = 0; for(int i = 0; i < a.length; i++) { if (i == 0) { t[index] = a[i]; index++; } else { int j; for (j = 0; j < index; j++) { if (t[j] == a[i]) break; } if (j == index) { t[index] = a[i]; index++; } } } int n[] = new int[index]; for (int i = 0; i < n.length; i++) n[i] = t[i]; return n; } © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  • 17. ANSWER 08-09 Computer Programming using Java 17 //เมท็อด unionArray(…) public static int[] unionArray(int a[], int b[]) { int n[] = new int[a.length + b.length]; for (int i = 0; i < n.length; i++) { if (i < a.length) n[i] = a[i]; else n[i] = b[i - a.length]; } n = removeDuplicatedMembers(n); return n; } //เมท็อด intersectArray(…) public static int[] intersectArray(int a[], int b[]) { a = removeDuplicatedMembers(a); b = removeDuplicatedMembers(b); int t[] = new int[a.length]; int index = 0; for (int i = 0; i < a.length; i++) { for (int j = 0; j < b.length; j++) { if (a[i] == b[j]) { t[index] = a[i]; index++; break; } } } int n[] = new int[index]; for (int i = 0; i < n.length; i++) n[i] = t[i]; return n; } //เมท็อด complementArray(…) public static int[] complementArray(int a[], int b[]) { a = removeDuplicatedMembers(a); b = removeDuplicatedMembers(b); int t[] = new int[a.length]; int index = 0; for (int i = 0; i < a.length; i++) { int j = 0; while (j < b.length) { if (a[i] == b[j]) break; j++; } if (j == b.length) { t[index] = a[i]; index++; } } int n[] = new int[index]; for (int i = 0; i < n.length; i++) n[i] = t[i]; return n; } © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้
  • 18. 18 Computer Programming using Java ANSWER 08-09 //เมท็อด printArray(…) public static void printArray(int a[]) { for (int i = 0; i < a.length; i++) { String comma = ", "; if (i == 0) System.out.print("{ "); if (i == a.length - 1) comma = " }n"; System.out.print(a[i] + comma); } } 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 }; printArray(a); printArray(b); printArray(removeDuplicatedMembers(a)); printArray(removeDuplicatedMembers(b)); printArray(unionArray(a, b)); printArray(intersectArray(a, b)); printArray(complementArray(a, b)); } //End of main } //End of class © สงวนลิขสิทธิ์ พฤศจิกายน 2553 (ปรับปร ุงครังที่ 7 ฉบับใช้ติวภาค 2/2553) เรียบเรียงโดย วงศ์ยศ เกิดศรี (แบงค์) ้