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

return

-x;

}

else

{

return

x;

}

}

Vì nh ng l nh return này c u trúc đi u ki n l a ch n, cho nên ch có m t l nh đ

c th c thi. Dù r ng

ở ấ

ệ ự

ộ ệ

ượ

hoàn toàn h p l n u b n có nhi u l nh return trong cùng m t ph

ng th c, song b n c n ghi nh r ng

ợ ệ ế

ề ệ

ươ

ạ ầ

ớ ằ

ngay khi m t l nh return đ

c th c hi n, ph

ng th c s k t thúc mà không th c hi n b t c l nh nào

ộ ệ

ượ

ươ

ứ ẽ ế

ấ ứ ệ

ti p sau nó.

ế

Mã l nh xu t hi n sau dòng l nh

return

, hay nói chung, trong b t c ch nào khác c a ch

ng trình

ấ ứ ỗ

ươ

mà không n m trong lu ng th c hi n thì đ

c g i là

ượ ọ

mã l nh ch t

ế . M t s trình biên d ch s c nh báo

ộ ố

ẽ ả

n u có đo n l nh ch t trong mã l nh b n vi t nên.

ế

ạ ệ

ế

ế

N u b n đ t l nh return trong c u trúc đi u ki n, thì ph i đ m b o đ

c r ng

ế

ặ ệ

ả ả

ượ ằ m i lu ng th c hi n kh

đ u d n t i m t l nh

ẫ ớ

ộ ệ

return

. Ch ng h n:

public static double

absoluteValue(

double

x) {

if

(x < 0) {

return

-x;

}

else if

(x > 0) {

return

x;

}

// SAI!!

}

Ch

ng trình này không h p l vì n u

ươ

ợ ệ

ế x b ng 0, thì c hai đi u ki n không có đi u ki n nào đ c tho

ượ

mãn, và hàm s k t thúc mà không g p ph i l nh

ẽ ế

ả ệ

return

nào. Trình biên d ch th

ng s đ a ra thông

ườ

ẽ ư

báo ki u nh

ư “return statement required in absoluteValue” (yêu c u ph i có l nh return trong

absoluteValue); l i thông báo này d gây nh m l n vì trong đó b n đã vi t hai l nh return r i.

ế

6.2 Phát tri n ch

ng trình

ươ

Lúc này b n đã có th nhìn vào toàn b ph

ng th c Java r i cho bi t chúng có nhi m v gì. Nh ng

ươ

ế

ư

ch a ch c b n đã bi t cách vi t nên chúng. Tôi s đ xu t m t ph

ng pháp

ư

ắ ạ

ế

ế

ẽ ề

ươ

g i là

phát tri n tăng

d n

.

ví d này, gi d b n c n tìm kho ng cách gi a hai đi m cho b i các to đ

ả ụ ạ ầ

ạ ộ (x1, y1) và (x2, y2). Theo

đ nh nghĩa thông th

ng, kho ng cách (distance) s là:

ườ

distance =


————————————
(x

2

x

1

)

2

+(y

2

y

1

)

2

B

c đ u tiên là cân nh c xem m t hàm

ướ ầ

distance

trong Java s trông nh th nào. Nói cách khác, các

ư ế

s li u đ u vào (tham s ) và k t qu (giá tr tr l i) là gì?

ố ệ

ế

ị ả ạ

Trong tr

ng h p này, s li u đ u vào mô t hai đi m; ta có th bi u th chúng b ng b n s

ườ

ố ệ

ể ể

ố ố double, dù

r ng sau này ta s th y Java có ki u đ i t

ng

ẽ ấ

ố ượ

Point mà ta có th t n d ng.

ể ậ

Giá tr c n tr v là kho ng

ị ầ

ả ề

cách, t c là s thu c ki u

ể double.

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.