System.out.println(
"dsquared is "
+ dsquared);
return
0.0;
}
M t l n n a, tôi biên d ch r i ch y ch
ng trình giai đo n này và ki m tra giá tr trung gian (v n ph i
ộ ầ
ữ
ị
ồ
ạ
ươ
ở
ạ
ể
ị
ố
ả
b ng 25.0).
ằ
Sau cùng, ta có th dùng
ể
Math.sqrt đ tính r i tr l i k t qu .
ể
ồ ả ạ ế
ả
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;
double
result = Math.sqrt(dsquared);
return
result;
}
T
ừ main, ta có th in và ki m tra giá tr c a k t qu .
ể
ể
ị ủ ế
ả
Sau này khi đã có kinh nghi m, b n s vi t và g l i nhi u dòng l nh cùng lúc. Song dù sao đi n a, vi c
ệ
ạ ẽ ế
ỡ ỗ
ề
ệ
ữ
ệ
phát tri n tăng d n s giúp b n ti t ki m nhi u th i gian.
ể
ầ ẽ
ạ
ế
ệ
ề
ờ
Các đi m c b n c a quy trình này là:
ể
ơ ả ủ
•
B t đ u v i m t ch
ng trình ch y đ
c và thêm vào nh ng thay đ i nh . B t c lúc nào khi g p l i,
ắ ầ
ớ
ộ
ươ
ạ
ượ
ữ
ổ
ỏ ấ ứ
ặ ỗ
b n s phát hi n đ
c ngay l i đó đâu.
ạ ẽ
ệ
ượ
ỗ
ở
•
Dùng các bi n t m đ l u gi các giá tr trung gian, t đó b n có th hi n th và ki m tra chúng.
ế ạ
ể ư
ữ
ị
ừ
ạ
ể ể
ị
ể
•
M t khi ch
ng trình đã ho t đ ng, b n có th d b các đo n mã “dàn giáo”, ho c rút g n nhi u câu
ộ
ươ
ạ ộ
ạ
ể ỡ ỏ
ạ
ặ
ọ
ề
l nh v m t bi u th c ph c h p, n u vi c này không làm cho ch
ng trình tr nên khó đ c h n.
ệ
ề ộ
ể
ứ
ứ ợ
ế
ệ
ươ
ở
ọ ơ
6.3 K t h p ph
ng th c
ế ợ
ươ
ứ
M t khi đã đ nh nghĩa m t ph
ng th c m i, b n có th dùng nó nh m t ph n c a bi u th c l n, và
ộ
ị
ộ
ươ
ứ
ớ
ạ
ể
ư ộ
ầ ủ
ể
ứ ớ
b n cũng có th thi t l p nh ng ph
ng th c m i t các ph
ng th c s n có. Ch ng h n, n u ai đó cho
ạ
ể
ế ậ
ữ
ươ
ứ
ớ ừ
ươ
ứ ẵ
ẳ
ạ
ế
b n hai đi m: m t là tâm đ
ng tròn và m t đi m trên đ
ng tròn đó, r i yêu c u b n tính di n tích
ạ
ể
ộ
ườ
ộ
ể
ườ
ồ
ầ
ạ
ệ
hình tròn thì b n s làm th nào?
ạ ẽ
ế
Gi s nh to đ c a tâm đi m đ
c l u trong các bi n
ả ử
ư ạ ộ ủ
ể
ượ ư
ế
xc
và
yc
, to đ đi m trên đ
ng tròn
ạ ộ ể
ườ
là
xp
và
yp
. B
c đ u tiên s là tìm bán kính c a đ
ng tròn, v n là kho ng cách gi a hai đi m đó. Th t
ướ ầ
ẽ
ủ
ườ
ố
ả
ữ
ể
ậ
may là ta đã có m t ph
ng th c,
ộ
ươ
ứ
distance
, đ làm vi c này:
ể
ệ
double
radius = distance(xc, yc, xp, yp);
B
c ti p theo là tìm di n tích c a m t đ
ng tròn có bán kính đó, r i tr l i k t qu .
ướ
ế
ệ
ủ
ộ ườ
ồ ả ạ ế
ả
double
area = area(radius);
return
area;
K t h p hai b
c này vào trong cùng m t ph
ng th c, ta thu đ
c:
ế ợ
ướ
ộ
ươ
ứ
ượ
public static double
circleArea (
double
xc,
double
yc,
double
xp,
double
yp) {
double
radius = distance(xc, yc, xp, yp);
double
area = area(radius);
return
area;