Java Programming - Chapter 8 (in Thai)

Embed Size (px)

Citation preview

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

    1/20

    93

    2553 ( 7 2/2553) ( )

    Computer Programming using JavaMethods - 08

    1 1 1 (main)

    CHAPTER

    8

    cl ass Oper at i on {

    } / / End of cl ass

    cl ass Oper at i on {

    } / / End of cl ass

    (Methods)

    1. (Introduction to Methods)

    1.

    1) (Methods) Subroutine, Sub-program

    Function 2) (Class) 3)

    1 1 1 (1)

    1 1 mai n-

    (2)

    1 mai n(mai nmai n)

    4)

    1

    main( . . . ) {

    / / add

    / / sub

    }

    main( . . . ) {add( )sub(). . .

    }

    add( . . . ) {

    }

    sub( . . . ) {

    }

    2

    5

    4

    7

    3

    1

    6

    123456

    789

    1

    2

    publ i c cl ass Exampl e {publ i c st at i c voi d mai n( St r i ng[ ] ar gs) {int n = add(4, 10);Syst em. out . pr i nt l n( n) ;

    }publ i c st at i c int add(int x, int y) {

    return x + y;}

    }

    1 add( 4, 10) 2 410

    3 add( i nt x, i nt y)

    4 4 +10

    5 r et ur n 14

    7 Syst em. out . pr i nt l n( n) 6 i nt n =14

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

    2/20

    94

    2553 ( 7 2/2553) ( )

    Computer Programming using Java 08 - Methods

    1 [] ()() (20 )

    1)

    Test 3 2) mai n(Compile) (Run) 3)

    mai nmodmul 4)

    modmul

    5)

    modmai n

    6)

    modmod7) mul 2 mul 8) mod1 mod9) n7 n12 10) x15 x16 11)

    xmod4 mod( 4)

    12)

    mul i nt 13)

    modi nt 14)

    7 8 10.0 1.0 15)

    mul ( 2, 1) 2.016)

    mod( 8, 3) 2.017)

    Test 11.018)

    return13 16 19)

    mul 12-13 r et ur n x * y; 20) mai nreturnmai nvoi d

    12

    3456789101112131415

    161718

    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) ;doubl e a = kb. next Doubl e( ) ;i nt b = kb. next I nt ( ) ;doubl e n = mul ( a, b) ;i nt m = mod( 13) ;System. out . pr i nt l n( n + m) ;

    }pr i vat e st at i c doubl e mul ( doubl e x, i nt y) {

    doubl e n = x * y;r et ur n n;

    }pr ot ect ed st at i c i nt mod( i nt x) {

    r et ur n x % 3;}}

    5.0

    2

    publ i cst at i cpr i vat e stat i c

    12

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

    3/20

    95

    2553 ( 7 2/2553) ( )

    Computer Programming using JavaMethods - 08

    2.(Method Structure and Creating Method)

    1.

    2

    6

    2. (Head)1) (Modifier)

    publ i c, pri vat e, pr ot ect ed, stat i cpublic static

    2)

    (Method Type) (Return Type)byte, shor t , i nt , l ong, f l oat ,doubl e voi d

    (Brackets)

    publ i c st at i c double add( int x, int y) {

    double cal = x + y;return cal;

    }

    pr ot ect ed void show( f l oat y, St r i ng s)

    ( ) {. . .

    } .

    1 2 3 4

    5

    6

    -

    1-4 (Head)

    5-6 (Body)

    pr i vat e stat i c int[] sor t ( i nt x[ ] ) int[][]

    public static doubl e power ( doubl e n)

    1

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

    4/20

    96

    2553 ( 7 2/2553) ( )

    Computer Programming using Java 08 - Methods

    3) (Method Name) () get I D( ) ,addNumber ( ) -

    4)

    (Parameters) (Comma) set ( i nt a, i nt b) set ( i nt a, b)

    2 [] (10 )1) square 1

    (2 )doubl e square( )

    2) root 1 (2 )

    pr ot ected st at i c ( )

    3)

    showName 1

    (2 )pr i vat e st at i c showName( )

    4)

    countX 1 (2 )

    stat i c

    5)

    revArray 1 1 (Reverse) (2 )

    revArray

    publ i c st at i c doubl e add(i nt x, i nt y)

    publ i c doubl e mul ( int x,double y,int z)

    publ i c st at i c i nt f i nd( int x, int y[][])

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

    5/20

    97

    2553 ( 7 2/2553) ( )

    Computer Programming using JavaMethods - 08

    3. (Body)1) i f - el se,

    whi l e, f or , Scanner 1-7 2)

    (Return Value) (Method Type) (Return Type) returnreturnvoi dreturn

    3) 1 ()

    3 [] () () (10 )

    1)

    publ i c st at i c pr i nt Er r or ( St r i ng msg) {Syst em. er r . pr i nt l n( msg) ;}

    2)

    pr ot ected stat i c i nt f l i p( i nt n) {i f ( n == 1) n = 0;

    }

    3) publ i c st at i c f l oat max( l ong x, y) {

    i f ( x > y) r et ur n x;el se r et ur n y;

    }

    4) pr i vat e st at i c voi d showChar ( ) {f or ( char i = ' 0' ; i

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

    6/20

    98

    2553 ( 7 2/2553) ( )

    Computer Programming using Java 08 - Methods

    5) st at i c St r i ng cal Gr ade( i nt x) {

    i f ( x > 80) r et ur n "A";el se i f ( x < 50) r et ur n "F";el se Syst em. out . pr i nt l n( "C") ;

    }

    6)

    doubl e getLen( doubl e dx, doubl e dy) {doubl e dx = Math. abs( dx) ; r etur n Math. sqrt ( dx*dx + dy*dy) ;

    }

    7) publ i c pr i vat e bool ean checkLen( i nt x[ ] , i nt y[ ] ) {r et ur n x. l engt h == y. l engt h;

    }

    8) publ i c f l oat get Locat i onPoi nt ( ) {r et ur n 0. 0;

    }

    9)

    publ i c stat i c i nt f ac( i nt x) {i f ( x

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

    7/20

    99

    2553 ( 7 2/2553) ( )

    Computer Programming using JavaMethods - 08

    4) fullName () (4 )

    5 [] fac() (Factorial) fac(3) = 6, fac(5) = 120(10 )

    6 [] findMax 50 50 (10 )

    7 [] underX() a x ax (10 )

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

    8/20

    100

    2553 ( 7 2/2553) ( )

    Computer Programming using Java 08 - Methods

    8 [] isPrime() (10 )

    9 [] memberOfArray() -a x 1 -1 (10 )

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

    9/20

    101

    2553 ( 7 2/2553) ( )

    Computer Programming using JavaMethods - 08

    10 [] appendArray() a[] = {1, 2, 3 }b[] = {5, 6}appendArray(a, b) = {1, 2, 3, 5, 6}(10 )

    3. (Simple Method Calling)

    1.

    2 1)

    2)

    2.

    1) add( ) (-)2) add(5, 3) (

    add( x, y * 2) )3) i nt n = add( 5, 3) ;

    (1)byte, shor t , i nt , l ong, f l oat , doubl eSt r i ng s = getName( 53300121) ;

    (2)

    void() showName( 53300121) ;

    123456

    publ i c st at i c voi dmain( St r i ng[ ] ar gs) {i nt n = add(5, 3);

    }publ i c st at i c i nt add( i nt x, i nt y) {

    r etur n x + y;}

    mai n(add)

    add (mai n)

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

    10/20

    102

    2553 ( 7 2/2553) ( )

    Computer Programming using Java 08 - Methods

    4) (1)

    i nt n[] = { 1, 2, 3, 4 };i nt c = under X( n, 3) ;

    (2)

    (new) i nt x[ ] = { 1, 2, 3, 4 }, y[ ] = { 5, 7, 9 };i nt z[] = appendAr r ay( x, y) ;

    3.

    1) ( )

    (byte, shor t ) i nt n = add(x, y); 2) ()

    publ i c . . . add(int x, int y)

    11 [] (10 )

    1. publ i c stati c voi d set ( i nt m, i nt n)

    2. publ i c stat i c i nt cal s( i nt m, f l oat n)

    3. publ i c stat i c St r i ng t oSt r i ng( i nt [ ] n)

    12345

    67891011

    publ i c st at i c voi d mai n( St r i ng[ ] ar gs) {String s = getName(53300121);System. out . pr i nt l n( s);showName(53300121);

    }

    publ i c stat i c St r i ng getName( i nt i d) {r etur n "Wongyos" ;}publ i c st at i c voi d showName( i nt i d) {

    Syst em. out . pr i nt l n( "Wongyos" ) ;}

    mai nget Namei nt

    s

    mai nshowNamei nt

    1234567

    publ i c st at i c voi d mai n( St r i ng[ ] ar gs) {i nt x = 5, y = 3;i nt n = add(x, y);

    }publ i c st at i c i nt add(int x, int y) {

    r etur n x + y;}

    -

    xymai nxyadd

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

    11/20

    103

    2553 ( 7 2/2553) ( )

    Computer Programming using JavaMethods - 08

    4. publ i c st at i c i nt [ ] get ( i nt m, St r i ng s)

    5. publ i c stat i c voi d sor t ( doubl e d[ ] )

    6. publ i c stat i c bool ean check( l ong i d)

    7. publ i c stati c i nt f l i p( i nt m, bool ean b)

    8. publ i c st at i c doubl e[ ] i nput Ar r ay( )

    9. publ i c stat i c voi d showLogo( )

    10. publ i c st at i c byt e f ( i nt m, i nt n, i nt p)

    12 [ ] ArrayUtility (75 )import java.util.Scanner;

    public class ArrayUtility {

    //[] main()(5 )public static void main(String[] args) {

    int a[] = { 5, 1, 6, 1, 4, 1, 2, 1, 4, 3, 1, 5, 7, 2, 1, 1 };

    sort(a);System.out.println(max(a));

    System.out.println(min(a));

    1. count ( )

    2. mode( )

    3. maj or i t y( )

    4. medi an( )

    5. r ange( )

    } //End of main

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

    12/20

    104

    2553 ( 7 2/2553) ( )

    Computer Programming using Java 08 - Methods

    //[] swap()ijswap(a, i, j) ija (5 )

    //[] sort()(Bubble Sort) (10 )

    //[] count() k-() (10 )

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

    13/20

    105

    2553 ( 7 2/2553) ( )

    Computer Programming using JavaMethods - 08

    //[] mode() (10 )

    //[] majority() -1 (10 )

    //[] median() (10 )

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

    14/20

    106

    2553 ( 7 2/2553) ( )

    Computer Programming using Java 08 - Methods

    //[] max() (5 )

    //[] min() (5 )

    //[] range() (5 )

    } //End of class

    13 [ ] main() 1 2 (5-6 ) (40 )

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

    15/20

    107

    2553 ( 7 2/2553) ( )

    Computer Programming using JavaMethods - 08

    1234

    567891011121314151617181920212223242526272829303132333435363738394041424344

    454647

    i mpor t j ava. i o. *;i mpor t j ava. ut i l . Scanner ;i mpor t j l ab. gr aphi cs. DWi ndow;publ i c cl ass OneMai nOneMethod {

    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 a[ ] si ze: ") ;i nt x = kb. next I nt ( ) ;i nt a[ ] = new i nt [ x] ;f or ( i nt i = 0; i < a. l engt h; i ++) {

    System. out . pr i nt ( "Ent er member : ") ;a[ i ] = kb. next I nt ( ) ;

    }

    System. out . pr i nt ( "Ent er b[ ] si ze: ") ;i nt y = kb. next I nt ( ) ;i nt b[ ] = new i nt [ y] ;f or ( i nt i = 0; i < b. l engt h; i ++) {

    System. out . pr i nt ( "Ent er member : ") ;b[ i ] = kb. next I nt ( ) ;

    }

    Syst em. out . pr i nt ( "Check ar r ay equal s bef or e sor t : ") ;i f ( a. l engt h == b. l engt h) {

    i nt count = 0;f or ( i nt i = 0; i < a. l engt h; i ++) {

    i f ( a[ i ] == b[ i ] ) count ++;}i f ( count == a. l engt h) {

    Syst em. out . pr i nt l n( "equal s") ;} el se {

    Syst em. out . pr i nt l n( "not equal s") ;}

    } el se {Syst em. out . pr i nt l n( "not equal s") ;

    }

    f or ( i nt i = a. l engt h - 1; i >= 1; i - - ) {f or ( i nt j = 0; j < i ; j ++) {

    i f ( a[ j ] > a[ j + 1] ) {i nt t = a[ j ] ;a[ j ] = a[ j + 1] ;a[ j + 1] = t ;

    }}

    }

    Ent er a[ ] si ze: 3Ent er member : 1Ent er member : 2Ent er member : 3Ent er b[ ] si ze: 3Ent er member : 2

    Ent er member : 1Ent er member : 3Check ar r ay equal s bef ore sor t : not equal sCheck ar r ay equal s af t er sor t : equal sa[ ] : 1 2 3b[ ] : 1 2 3

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

    16/20

    108

    2553 ( 7 2/2553) ( )

    Computer Programming using Java 08 - Methods

    (5-6 main()) import java.util.Scanner;

    public class OneMainManyMethods {

    484950515253

    54555657585960616263646566

    67686970717273747576777879

    808182838485

    f or ( i nt i = b. l engt h - 1; i >= 1; i - - ) {f or ( i nt j = 0; j < i ; j ++) {

    i f ( b[ j ] > b[ j + 1] ) {i nt t = b[ j ] ;b[ j ] = b[ j + 1] ;b[ j + 1] = t ;

    }}

    }

    Syst em. out . pr i nt ( "Check ar r ay equal s af t er sort : ") ;i f ( a. l engt h == b. l engt h) {

    i nt count = 0;f or ( i nt i = 0; i < a. l engt h; i ++) {

    i f ( a[ i ] == b[ i ] ) count ++;}i f ( count == a. l engt h) {

    Syst em. out . pr i nt l n( "equal s") ;} el se {

    Syst em. out . pr i nt l n( "not equal s") ;}

    } el se {Syst em. out . pr i nt l n( "not equal s") ;

    }

    System. out . pr i nt ( "a[ ] : ") ;f or ( i nt i = 0; i < a. l engt h; i ++) {

    System. out . pr i nt ( a[ i ] + " ") ;}System. out . pr i nt l n( ) ;

    System. out . pr i nt ( "b[ ] : ") ;

    f or ( i nt i = 0; i < b. l engt h; i ++) {System. out . pr i nt ( b[ i ] + " ") ;}System. out . pr i nt l n( ) ;

    } / / End of mai n} / / End of cl ass

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

    17/20

    109

    2553 ( 7 2/2553) ( )

    Computer Programming using JavaMethods - 08

    } //End of class

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

    18/20

    110

    2553 ( 7 2/2553) ( )

    Computer Programming using Java 08 - Methods

    4. (Overloading Methods)

    1. (Overloading Methods)2 1)

    2)

    2.

    1) (Return Type) (

    )2)

    ()

    3)

    (Compile-time Error)

    14 [] (Overloading Method) (15 )

    1publ i c st at i c doubl e m( i nt n) {

    r et ur n n * n;}

    2publ i c st at i c i nt m( doubl e n) {

    return ( i nt ) ( n * n) ;}

    3publ i c stati c bool ean m( i nt n, i nt x) {

    r eturn n == x;}

    4publ i c stat i c doubl e m( i nt a, i nt b, i nt c) {

    r et ur n ( doubl e) ( a * b * c) ;}

    5publ i c stati c i nt m( char c) {

    return ( i nt ) c;}

    6publ i c st at i c St r i ng m( doubl e n, i nt x) {

    r eturn n + " " + x;}

    7publ i c st at i c i nt m( doubl e x, doubl e n) {

    return ( i nt ) ( n * x) ;}

    publ i c stat i c i nt t est( int x) publ i c stat i c i nt t est( int x, int y)

    publ i c stat i c i nt t est( int x) publ i c stat i c i nt t est( double x)

    test 1 test 2

    t est i nt t est doubl e

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

    19/20

    111

    2553 ( 7 2/2553) ( )

    Computer Programming using JavaMethods - 08

    1. Syst em. out . pr i nt l n( m( 10) ) ;

    2. Syst em. out . pr i nt l n( m( 1, 2. 5) ) ;

    3. Syst em. out . pr i nt l n( m( 11. 0) ) ;

    4. Syst em. out . pr i nt l n( m( 6. 0f ) ) ;

    5. Syst em. out . pr i nt l n( m( 12, 2)) ;

    6. System. out . pr i nt l n( m( ' 1' ) ) ;

    7. Syst em. out . pr i nt l n( m( 10. 0, 2) ) ;

    8. Syst em. out . pr i nt l n( m( 2, 2, 1) ) ;

    9. Syst em. out . pr i nt l n( m( m( 5, 1, 2) ) ) ;

    10. Syst em. out . pr i nt l n( m( m( 5, 1. 0f ) ) ) ;

    11. Syst em. out . pr i nt l n( m( 1. 0f , 2) ) ;

    12. Syst em. out . pr i nt l n( m( 0L, 1, 1) ) ;

    13. Syst em. out . pr i nt l n( m( 0. 0f , ( byt e) 1) ) ;

    14. Syst em. out . pr i nt l n( m( ( byt e) 1. 3, 1) ) ;

    15. Syst em. out . pr i nt l n( m( 1. 1) ) ;

    15 [ ] (Overloading Method) - (15 )import java.util.Scanner;

    public class Overload {

    //main() showName() -(3 )

    public static void main(String[] args) {

    } //End of main

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

    20/20

    112 Computer Programming using Java 08 - Methods

    //showName() (3 )

    //showName() 1 (3 )

    //showName() 2 (3 )

    //showName()2 xx(3 )

    } //End of class