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
Recommended