System.out.println(
"("
+ p.x +
", "
+ p.y +
")"
);
}
Ph
ng th c này nh n m t đi m làm đ i s r i in nó ra d
i đ nh d ng tiêu chu n. N u b n kích ho t
ươ
ứ
ậ
ộ
ể
ố ố ồ
ướ ị
ạ
ẩ
ế
ạ
ạ
printPoint(blank), nó s in ra
ẽ
(3, 4). Th c t là Java đã có s n m t ph
ng th c đ in ra các
ự ế
ẵ
ộ
ươ
ứ ể
Point. N u
ế
kích ho t
ạ System.out.println(blank), b n s nh n đ c
ạ ẽ
ậ
ượ
java.awt.Point[x=3,y=4]
Đây là đ nh d ng tiêu chu n mà Java dùng đ in các đ i t
ng. Nó in ra tên c a ki u d li u, ti p theo là
ị
ạ
ẩ
ể
ố ượ
ủ
ể
ữ ệ
ế
các tên và giá tr c a nh ng bi n th c th .
ị ủ
ữ
ế
ự
ể
M t ví d th hai là ta có th vi t l i ph
ng th c
ộ
ụ ứ
ể ế ạ
ươ
ứ distance M c
ở ụ 6.2 đ nó nh n hai
ể
ậ
Point làm tham s
ố
thay vì b n
ố double.
public static double
distance(Point p1, Point p2) {
double
dx = (
double
)(p2.x - p1.x);
double
dy = (
double
)(p2.y - p1.y);
return
Math.sqrt(dx*dx + dy*dy);
}
Các phép đ i ki u d li u đây đ u không th t s c n thi t. Tôi ch vi t vào đ t nh c r ng các bi n
ổ
ể
ữ ệ ở
ề
ậ ự ầ
ế
ỉ ế
ể ự
ắ ằ
ế
th c th trong m t
ự
ể
ộ Point đ u là các s nguyên.
ề
ố
9.5 Hình ch nh t
ữ
ậ
Rectangle (hình ch nh t) cũng gi ng nh các đi m, ch khác r ng chúng có b n bi n th c
ữ
ậ
ố
ư
ể
ỉ
ằ
ố
ế
ự
th :
ể x, y, width (b r ng) và
ề ộ
height (chi u cao). Ngoài đi u này ra thì nh ng th còn l i v n y nguyên.
ề
ề
ữ
ứ
ạ ẫ
Ví d sau đây t o nên m t đ i t
ng
ụ
ạ
ộ ố ượ Rectangle r i khi n
ồ
ế box tham chi u đ n nó.
ế
ế
Rectangle box =
new
Rectangle(0, 0, 100, 200);
Hình v này mô t hi u ng c a l nh gán nêu trên.
ẽ
ả ệ ứ
ủ ệ
N u in
ế
box ra, b n nh n đ
c
ạ
ậ
ượ
java.awt.Rectangle[x=0,y=0,width=100,height=200]
M t l n n a, đây là k t qu c a m t ph
ng th c Java v n bi t cách in nh ng đ i t
ng
ộ ầ
ữ
ế
ả ủ
ộ
ươ
ứ
ố
ế
ữ
ố ượ Rectangle.
9.6 Đ i t
ng v i vai trò là ki u đ
c tr l i
ố ượ
ớ
ể
ượ
ả ạ
B n có th vi t nh ng ph
ng th c tr l i đ i t
ng. Ch ng h n,
ạ
ể ế
ữ
ươ
ứ
ả ạ ố ượ
ẳ
ạ findCenter l y m t
ấ
ộ Rectangle làm đ i
ố
s r i tr l i m t
ố ồ ả ạ
ộ Point có ch a to đ c a tâm
ứ
ạ ộ ủ
Rectangle:
public static
Point findCenter(Rectangle box) {
int
x = box.x + box.width/2;
int
y = box.y + box.height/2;