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

public static int

riddle(

int

x, Point p) {

x = x + 7;

return

x + p.x + p.y;

}

M c đích c a bài t p này là đ đ m b o r ng b n hi u c ch truy n đ i t

ng làm tham s .

ể ả

ả ằ

ể ơ ế

ố ượ

Bài t p 2

1.

V i ch

ng trình sau, hãy v m t bi u đ ngăn x p th hi n tr ng thái c a ch

ng trình ngay tr

c

ươ

ẽ ộ

ế

ể ệ

ươ

ướ

khi distance tr v . Hãy kèm theo t t c các bi n s và tham s cùng v i nh ng đ i t

ng mà các bi n

ả ề

ấ ả

ế ố

ố ượ

ế

này tham chi u t i.

ế ớ

2. K t qu c a ch

ng trình này là gì?

ế

ả ủ

ươ

public static double

distance(Point p1, Point p2) {

int

dx = p1.x - p2.x;

int

dy = p1.y - p2.y;

return

Math.sqrt(dx*dx + dy*dy);

}

public static

Point findCenter(Rectangle box) {

int

x = box.x + box.width/2;

int

y = box.y + box.height/2;

return new

Point(x, y);

}

public static void

main(String[] args) {

Point blank =

new

Point(5, 8);

Rectangle rect =

new

Rectangle(0, 2, 4, 4);

Point center = findCenter(rect);

double

dist = distance(center, blank);

System.out.println(dist);

}

Bài t p 3

Ph

ng th c

ươ

ứ grow thu c v l p

ộ ề ớ Rectangle. Hãy đ c tài li u

ởhttp://download.oracle.com/javase/6/docs/api/java/awt/Rectangle.html#grow(int, int).

1. K t qu c a ch

ng trình sau là gì?

ế

ả ủ

ươ

2.

Hãy v m t s đ tr ng thái ch ra tr ng thái c a ch

ng trình ngay tr

c khi

ẽ ộ ơ ồ ạ

ươ

ướ

main k t thúc, trong đó

ế

bao g m t t c nh ng bi n đ a ph

ng cùng các đ i t

ng mà nh ng bi n này tham chi u t i.

ấ ả

ế

ươ

ố ượ

ế

ế ớ

3.

đi m cu i c a

Ở ể

ố ủ main, li u

ệ p1 và p2 có cùng là bí danh không? T i sao (không)?

public static void

printPoint(Point p) {

System.out.println(

"("

+ p.x +

", "

+ p.y +

")"

);

}

public static

Point findCenter(Rectangle box) {

int

x = box.x + box.width/2;