java programming - chapter 13 (in thai)

Upload: wongyos-keardsri

Post on 26-Feb-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/25/2019 Java Programming - Chapter 13 (in Thai)

    1/30

    181

    2553 ( 7 2/2553) ( )

    Computer Programming using JavaAdvanced Classes and Objects - 13

    CHAPTER

    3

    (Advanced Classes and Objects)

    1.

    1) ( )

    1 (Default Constructor)

    2 (Detail Constructor)3 (Copy Constructor)

    2)

    t hi s

    123456789

    101112131415161718

    publ i c cl ass Data {publ i c i nt x;publ i c Dat a( ) {

    x = 0;}publ i c Dat a(int n) {

    x = n;}publ i c Dat a(Data d) {

    x = d.x;}publ i c bool ean i sEq1( int n) {

    r et urn x == n;}publ i c bool ean i sEq2( Data d) {

    r et urn x == d.x;}

    }

    d

    xdxdd. xxDat a

    n

    d

    x

    i nt n

    n

    d

    x

    Dat ad(xd)

    12

    345678

    publ i c cl ass Dat a {publ i c i nt x;

    . . .publ i c Dat a( i nt x) {x = x; / / Er ror

    }. . .

    }

    xx

    12345

    678

    publ i c cl ass Dat a {publ i c i nt x;. . .publ i c Dat a( i nt x) {this.x = x;

    }. . .}

    x

    x = -x this.x =

    t hi s

    1

    2

    3

  • 7/25/2019 Java Programming - Chapter 13 (in Thai)

    2/30

    182

    2553 ( 7 2/2553) ( )

    Computer Programming using Java 13 - Advanced Classes and Objects

    1 [] TestNumNum Num (16 )

    import java.util.Scanner;

    public class TestNum {

    public static void main(String[] args) {

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

    ------------------------------------------------------------------------

    public class Num {public int x;

    public int y;Num() {

    x = y = 0;}

    Num(int x, int y) {this.x = x; this.y = y;

    }Num(Num n) {

    this.x = n.x; this.y = n.y;

    }public boolean isEquals(int x, int y) {

    }public boolean isEquals(Num n) {

    }} //End of class

    Num n1 = new Num();System.out.println(n1.x + "," + n1.y);

    ()

    Num n2 = new Num(13, 2);System.out.println(n2.x + "," + n2.y);

    Num n3 = new Num(n2);System.out.println(n3.x + "," + n3.y);

    Num n4 = new Num(new Num(7, 11));System.out.println(n4.x + "," + n4.y);

    Num n5 = new Num(n4.y, n3.x);System.out.println(n5.x + "," + n5.y);

    n2 = new Num(new Num());System.out.println(n2.x + "," + n2.y);

    1

    2

    3

  • 7/25/2019 Java Programming - Chapter 13 (in Thai)

    3/30

    183

    2553 ( 7 2/2553) ( )

    Computer Programming using JavaAdvanced Classes and Objects - 13

    3) ( )

    2 [] Coin (Value) (Side) (H) (T) DemoCoinCoin(20 )

    public class Coin {

    //sidepublic"H""T"//valuepublic 1 , 2 , 5 10

    //list private final String list[] = { "H", "T" };

    //(H) 0

    //

    //Coin

    1234

    56789101112

    publ i c cl ass Dat a {publ i c i nt x;. . .publ i c int get X( ) {

    return x;}publ i c Data get Data( ) {

    Dat a d = new Dat a( x) ;return d;

    }. . .

    }

    x

    d

    x

    dd. x()

  • 7/25/2019 Java Programming - Chapter 13 (in Thai)

    4/30

    184

    2553 ( 7 2/2553) ( )

    Computer Programming using Java 13 - Advanced Classes and Objects

    //flip()(list)

    //reverse()

    //equals()

    } //End of class

    /* DemoCoin Coin4 1 2 () 5 2 ( ) 1 5 20 */

  • 7/25/2019 Java Programming - Chapter 13 (in Thai)

    5/30

    185

    2553 ( 7 2/2553) ( )

    Computer Programming using JavaAdvanced Classes and Objects - 13

    public class DemoCoin {public static void main(String[] args) {

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

    3 [] SetOfInteger

    (30 )public class SetOfInteger {

    //public iSet()

    // 1 iSet

    { 7, 5, 3, 5, 3 } { 3, 5, 7 } ()public SetOfInteger(int[] x) {

    } //End of constructor

  • 7/25/2019 Java Programming - Chapter 13 (in Thai)

    6/30

    186

    2553 ( 7 2/2553) ( )

    Computer Programming using Java 13 - Advanced Classes and Objects

    // 1 SetOfIntegeriSetpublic SetOfInteger(SetOfInteger s) {

    } //End of constructor

    //sort() public int[] sort(int x[]) {

    for (int i = x.length - 1; i >= 1; i--)

    for (int j = 0; j x[j + 1]) {

    int temp = x[j];x[j] = x[j + 1];x[j + 1] = temp;

    }}

    }

    return x;} //End of method

    //removeDuplicatedMembers() public int[] removeDuplicatedMembers(int x[]) {

    int t[] = new int[x.length];int index = 0;for(int i = 0; i < x.length; i++) {

    if (i == 0) {t[index] = x[i];

    index++;

    } else {int j;

    for (j = 0; j < index; j++) {if (t[j] == x[i]) break;

    }if (j == index) {

    t[index] = x[i];index++;

    }

    }}

    int n[] = new int[index];

    for (int i = 0; i < n.length; i++) n[i] = t[i];return n;

    } //End of method

  • 7/25/2019 Java Programming - Chapter 13 (in Thai)

    7/30

    187

    2553 ( 7 2/2553) ( )

    Computer Programming using JavaAdvanced Classes and Objects - 13

    //equals()iSet iSetx

    public boolean equals(SetOfInteger x) {

    } //End of method

    //toString()iSet public String toString() {

    } //End of method

    //addElement()iSetiSet

    public void addElement(int a) {

    } //End of method

  • 7/25/2019 Java Programming - Chapter 13 (in Thai)

    8/30

    188

    2553 ( 7 2/2553) ( )

    Computer Programming using Java 13 - Advanced Classes and Objects

    //findElement()iSet-1

    public int findElement(int a) {

    } //End of method

    //isSubset()iSets (Subset) -iSet

    public boolean isSubset(SetOfInteger s) {

    } //End of method

    //union()iSet iSet (Union) SetOfInteger

    public SetOfInteger union(SetOfInteger s) {

    } //End of method

  • 7/25/2019 Java Programming - Chapter 13 (in Thai)

    9/30

    189

    2553 ( 7 2/2553) ( )

    Computer Programming using JavaAdvanced Classes and Objects - 13

    //intersect() iSet iSet (Intersection) SetOfInteger

    public SetOfInteger intersect(SetOfInteger s) {

    } //End of method

    } //End of class

    2.

    1) (1) 1

    (2) 2

    (Dat a)

    [ ] = new [ ] ;

    [ ] [ ] = new [ ] [ ] ;

    1234567

    publ i c cl ass Test Dat a {publ i c stati c voi d mai n( St r i ng [ ] ar gs) {Data d = new Data();Data e = new Data(13);

    Syst em. out . pr i nt l n( d. x + ", " + e. x) ;}

    }

    d

    x = 0

    e

    x = 13

  • 7/25/2019 Java Programming - Chapter 13 (in Thai)

    10/30

    190

    2553 ( 7 2/2553) ( )

    Computer Programming using Java 13 - Advanced Classes and Objects

    4 [] Student(30 )public class Student {

    //3 private(4 ) id name score

    //(2 )

    //3 (2 )

    d

    1234

    5678910

    publ i c cl ass Test Dat a {publ i c stati c voi d mai n( St r i ng [ ] ar gs) {Data d[] = new Data[6];f or ( i nt i = 0; i < d. l engt h; i ++) {

    d[i] = new Data(i);}d[2].x = 15;d[4].x = 30

    }}

    6

    ()

    6 newf or

    d[0]

    x = 0

    d[1]

    x = 1

    d[2]

    x = 15

    d[ 3]

    x = 3

    d[4]

    x = 30

    d[ 5]

    x = 5

  • 7/25/2019 Java Programming - Chapter 13 (in Thai)

    11/30

    191

    2553 ( 7 2/2553) ( )

    Computer Programming using JavaAdvanced Classes and Objects - 13

    //1 Student(2 )

    //4 (10 ) getID() getName() getScore() setScore()

    score

    } //End of class

    Freshmenmain()(15 )import java.util.Scanner;

    public class Freshmen {public static void main(String[] args) {

    Scanner kb = new Scanner(System.in);

    //800 Student()

  • 7/25/2019 Java Programming - Chapter 13 (in Thai)

    12/30

    192

    2553 ( 7 2/2553) ( )

    Computer Programming using Java 13 - Advanced Classes and Objects

    // 5300121 5380021 4

    //setScore()4 0 100

    //4

    //

  • 7/25/2019 Java Programming - Chapter 13 (in Thai)

    13/30

    193

    2553 ( 7 2/2553) ( )

    Computer Programming using JavaAdvanced Classes and Objects - 13

    } //End of main

    } //End of class

    3.

    1) ( )

    5 [

    ]

    (City)

    (Land) (Owner) 3 OwnerLandCity(30 )

    Owner Land City

    1234567

    891011121314141617

    publ i c cl ass Box {publ i c doubl e v;

    public Data d;publ i c Box( ) {

    v = 0. 0;d = new Data();

    }

    publ i c Box( doubl e a, Dat a b) {v = a;d = new Data(b);

    }publ i c Box( Box b) {

    v = b. v;d = new Data(b.d);

    }. . .

    }

    Box

    vd

    x

    vdoubl e ()

    dDat a new

  • 7/25/2019 Java Programming - Chapter 13 (in Thai)

    14/30

    194

    2553 ( 7 2/2553) ( )

    Computer Programming using Java 13 - Advanced Classes and Objects

    1. Owner(10 )public class Owner {

    //privateid( )//privatename

    //public (int0 double0.0 )

    //public 2

    //public1 Owner

    //publicgetID

  • 7/25/2019 Java Programming - Chapter 13 (in Thai)

    15/30

    195

    2553 ( 7 2/2553) ( )

    Computer Programming using JavaAdvanced Classes and Objects - 13

    //publicgetName

    //publicsetID 1 (id)

    //publicsetName 1 (name)

    //public show

    } //End of class

    2. Land(10 )public class Land {

    //public n Owner (OwnerLand) //publicprice

  • 7/25/2019 Java Programming - Chapter 13 (in Thai)

    16/30

    196

    2553 ( 7 2/2553) ( )

    Computer Programming using Java 13 - Advanced Classes and Objects

    //public ( new)

    //public 2 Owner

    //public setOwner 1 Owner (n )

    //public setPrice 1 (price)

    //public show

    } //End of class

  • 7/25/2019 Java Programming - Chapter 13 (in Thai)

    17/30

    197

    2553 ( 7 2/2553) ( )

    Computer Programming using JavaAdvanced Classes and Objects - 13

    3. Citymainmain(10 )import java.util.Scanner;

    public class City {

    public static void main(String[] args) {

    // Land 3000 50 x 60()

    //( Default) 1 10

    //ow1 "Tukie"1001

    //ow2 "Annie"1002

    //Tukie(4, 9)

  • 7/25/2019 Java Programming - Chapter 13 (in Thai)

    18/30

    198

    2553 ( 7 2/2553) ( )

    Computer Programming using Java 13 - Advanced Classes and Objects

    // Tukie 30

    //Annie Tukie

    //Tukie 50 (1) 50

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

    6 [] Scanner1 1

    Enter

    12345678

    91011

    i mpor t j ava. ut i l . Scanner ;publ i c cl ass Test {

    publ i c stati c voi d mai n( St r i ng[ ] ar gs) {Scanner kb = new Scanner ( Syst em. i n) ;System. out . pr i nt ( "Ent er I nt : ") ;i nt a = kb. next I nt ( ) ;System. out . pr i nt ( "Ent er St r : ") ;St r i ng b = kb. next Li ne( ) ;

    Syst em. out . pr i nt l n( a + ", " + b) ;}

    }

    Ent er I nt : 10Ent er St r : 10

    ()Ent er I nt : 10

    Ent er St r : J ava10, J ava

  • 7/25/2019 Java Programming - Chapter 13 (in Thai)

    19/30

    199

    2553 ( 7 2/2553) ( )

    Computer Programming using JavaAdvanced Classes and Objects - 13

    SScanner SScanner Scanner(10 )import java.util.Scanner;import java.io.InputStream;

    public class SScanner {//kbScanner

    // 1 in InputStreamkb

    //nextInt() 1

    //nextLine() 1 0

    } //End of class

  • 7/25/2019 Java Programming - Chapter 13 (in Thai)

    20/30

    200

    2553 ( 7 2/2553) ( )

    Computer Programming using Java 13 - Advanced Classes and Objects

    TestSScanner SScanner (5 )

    public class TestSScanner {

    public static void main(String[] args) {

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

    7 [] ()

    3 Fruit BasketFruitBasket !(50 )

    1. Fruit(10 )public class Fruit {

    //name //weigh

    //wh private final double wh[] = { 0.1, 0.2, 0.3, 0.4, 0.5 };

    //4

    (wh)

  • 7/25/2019 Java Programming - Chapter 13 (in Thai)

    21/30

    201

    2553 ( 7 2/2553) ( )

    Computer Programming using JavaAdvanced Classes and Objects - 13

    Fruit

    //showFruit

    } //End of class

    2. Basket(20 )public class Basket {

    //fruitFruit //count

  • 7/25/2019 Java Programming - Chapter 13 (in Thai)

    22/30

    202

    2553 ( 7 2/2553) ( )

    Computer Programming using Java 13 - Advanced Classes and Objects

    // 10

    //

    // Basket

    //isFull

    //isEmpty

  • 7/25/2019 Java Programming - Chapter 13 (in Thai)

    23/30

    203

    2553 ( 7 2/2553) ( )

    Computer Programming using JavaAdvanced Classes and Objects - 13

    //takeIn 1 Basket Full

    //takeOut1 Basket Empty

    //getTotalWeigh

  • 7/25/2019 Java Programming - Chapter 13 (in Thai)

    24/30

    204

    2553 ( 7 2/2553) ( )

    Computer Programming using Java 13 - Advanced Classes and Objects

    //showBasket

    } //End of class

    3. FruitBasket (20 )import java.util.Scanner;

    public class FruitBasket {

    //getFruitBasket1 () ( )

    //showFruitBasket - (Total Weigh) (Total Fruit) (List of Fruit)

  • 7/25/2019 Java Programming - Chapter 13 (in Thai)

    25/30

    205

    2553 ( 7 2/2553) ( )

    Computer Programming using JavaAdvanced Classes and Objects - 13

    //mainpublic static void main(String[] args) {

    //3 ( Basket) getFruitBasket1 (Apple)

    0.12 25 2 (Orange) 0.1 303 (Melon) 0.45 15

    // 6 ( Basket) 3 6 1-3 showFruitBasket

    } //End of main

    } //End of class

  • 7/25/2019 Java Programming - Chapter 13 (in Thai)

    26/30

    206

    2553 ( 7 2/2553) ( )

    Computer Programming using Java 13 - Advanced Classes and Objects

    8 [] 3021 2 StudentRoom

    (Noob Levels) 4 1 (Noob) 2 (Father Noob) 3 (God Noob) 4 (Hof Noob)(30 )1. Student(10 )

    public class Student {

    //privateid//privatename

    //privatenoob

    //

    // 3

    // Student

  • 7/25/2019 Java Programming - Chapter 13 (in Thai)

    27/30

    207

    2553 ( 7 2/2553) ( )

    Computer Programming using JavaAdvanced Classes and Objects - 13

    //publicgetID

    //publicgetName

    //publicgetNoob

    //publicset Student

    //publicshow 1 "[1-Noob]" 2 "[2-Father Noob]"3 "[3-God Noob]"4 "[4-Hof Noob]""[Un- known]"

  • 7/25/2019 Java Programming - Chapter 13 (in Thai)

    28/30

    208

    2553 ( 7 2/2553) ( )

    Computer Programming using Java 13 - Advanced Classes and Objects

    } //End of class

    2.

    Room302 116 40 40 38 (20 )

    public class Room {

    //publics 2 Student 302 1 16 40

    public void setSeat Student (1) (1)113-16(2)

    29-12(3)35-8(4)

    4

    1-4

    // ()

    1

    16

  • 7/25/2019 Java Programming - Chapter 13 (in Thai)

    29/30

    209

    2553 ( 7 2/2553) ( )

    Computer Programming using JavaAdvanced Classes and Objects - 13

    //public void showRoom

    W, T (#)

    //public void showStudent 2

  • 7/25/2019 Java Programming - Chapter 13 (in Thai)

    30/30

    210 Computer Programming using Java 13 - Advanced Classes and Objects

    //public void showStudent

    //main()(1)s 2 Student (

    0 ""0(2)

    5 Akeudom, Phakhin, Taparb, Ong-ard Wongyos 1, 1, 2, 3, 4

    (3)

    5 setSeat()(4)

    5 showRoom()(5)

    showStudent()