THINK JAVA: CÁCH SUY NGHĨ NHƯ NHÀ KHOA HỌC MÁY TÍNH - Trang 47

Ta đã có th phác th o ngay ra hàm nh sau:

ư

public static double

distance (

double

x1,

double

y1,

double

x2,

double

y2) {

return

0.0;

}

Câu l nh

ệ return 0.0; đóng vai trò gi ch c n thi t cho vi c biên d ch ch ng trình. Đ ng nhiên, vào

ữ ỗ ầ

ế

ươ

ươ

lúc này nó ch a phát huy tác d ng, song v n đáng đ ta th biên d ch nh m phát hi n ra l i cú pháp,

ư

n u có, tr

c khi vi t thêm mã l nh.

ế

ướ

ế

Đ ki m tra ph

ng th c m i vi t này, ta ph i kích ho t nó b ng các giá tr m u. Đâu đó trong

ể ể

ươ

ế

ị ẫ

main,

tôi s ph i vi t l nh:

ế ệ

double

dist = distance(1.0, 2.0, 4.0, 6.0);

S dĩ tôi ch n các tham s này vì kho ng cách ngang s là 3 và kho ng cách d c là 4, theo đó thì k t qu

ế

s b ng 5 (c nh huy n c a m t tam giác có các c nh là 3-4-5). Khi th nghi m m t hàm, b n nên bi t

ẽ ằ

ề ủ

ế

tr

c k t qu đúng.

ướ ế

M t khi đã ki m tra xong cú pháp c a l i đ nh nghĩa hàm, ta có th b t tay vào thêm mã l nh vào ph n

ủ ờ ị

ể ắ

thân. Sau m i l n thay đ i tăng d n, ta biên d ch l i và ch y ch

ng trình. N u có l i b t kì b

c thay

ỗ ầ

ươ

ế

ỗ ở ấ

ướ

đ i nào, ta s bi t ngay r ng ph i nhìn vào đâu: chính là vào dòng l nh mà ta v a m i b sung.

ẽ ế

ớ ổ

M t b

c làm h p lí ti p theo là tính các hi u s

ộ ướ

ế

ệ ố x

2

x

1

y

2

y

1

. Tôi l u tr các giá tr trên vào nh ng

ư

bi n t m th i có tên

ế ạ

dx và dy.

public static double

distance (

double

x1,

double

y1,

double

x2,

double

y2) {

double

dx = x2 - x1;

double

dy = y2 - y1;

System.out.println(

"dx is "

+ dx);

System.out.println(

"dy is "

+ dy);

return

0.0;

}

Tôi đã b sung hai l nh in vào sau đó đ ta ki m tra đ

c nh ng giá tr trung gian tr

c khi ti p t c.

ượ

ướ

ế ụ

Nh ng giá tr này ph i b ng 3.0 và 4.0.

ả ằ

M t khi đã vi t xong ph

ng th c r i thì ta c n ph i b nh ng l nh in này đi.

ế

ươ

ứ ồ

ả ỏ

Các câu l nh nh v y còn

ư ậ

có tên là dàn giáo vì nó có ích cho vi c xây d ng ch

ng trình nh ng l i không ph i là m t ph n trong

ươ

ư

s n ph m cu i cùng.

Ti p theo chúng ta tính các bình ph

ng c a

ế

ươ

ủ dx và dy. Ta đã có th dùng ph ng th c

ươ

ứ Math.pow, nh ng

ư

đem nhân t ng s v i chính nó s đ n gi n h n.

ố ớ

ẽ ơ

ơ

public static double

distance (

double

x1,

double

y1,

double

x2,

double

y2) {

double

dx = x2 - x1;

double

dy = y2 - y1;

double

dsquared = dx*dx + dy*dy;