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

14.8 Thu t ng

gi mã:

M t cách thi t k ch ng trình b ng cách vi t các b n nháp k t h p ngôn ng nói và Java.

ế ế ươ

ế

ế ợ

ph

ng th c tr giúp:

ươ

Th ng là m t ph ng th c nh ch ng làm nhi u đi u có ích, song ph ng th c này tr giúp m t

ườ

ươ

ỏ ẳ

ươ

ph ng th c khác có ích h n.

ươ

ơ

bi n l p:

ế ớ

M t bi n đ c khai báo trong l p theo d ng

ế

ượ

ạ static; luôn ch có m t b n sao c a bi n này t n t i.

ộ ả

ế

ồ ạ

14.9 Bài t p

Bài t p 1

M c đích c a bài t p này là thi hành các thu t toán tráo bài và s p x p trong ch

ng.

ế

ươ

1.

Hãy t i v mã l nh cho ch

ng này t

ả ề

ươ

http://thinkapjava.com/code/Card2.java r i nh p nó vào môi

tr

ng phát tri n đang dùng. Tôi đã cung c p ph n khung c a nh ng ph

ng th c mà b n s vi t, do

ườ

ươ

ạ ẽ ế

v y mà ch

ng trình s đ

c biên d ch thông su t. Nh ng khi ch y, nó s in các dòng thông báo cho

ươ

ẽ ượ

ư

bi t r ng nh ng ph

ng th c r ng ch a làm vi c đ

c. Khi b n hoàn thành h t các ph

ng th c này,

ế ằ

ươ

ứ ỗ

ư

ệ ượ

ế

ươ

nh ng l i thông báo đó s bi n m t.

ẽ ế

2.

N u đã làm Bài t p

ế

ậ 3 trong Ch ng 12, b n đã vi t

ươ

ế randomInt. N u không, bây gi hãy vi t ph ng

ế

ế

ươ

th c này r i thêm vào mã l nh đ ki m tra.

ể ể

3.

Hãy vi t m t ph

ng th c có thên

ế

ươ

swapCards đ nh n vào m t c bài (m ng ch a nh ng quân bài)

ộ ỗ

cùng hai ch s , r i đ i ch hai lá bài nh ng v trí đó. G I Ý: ph

ng th c này ph i đ i ch tham

ỉ ố ồ ổ

ươ

ả ổ

chi u, ch không ph i n i dung c a các đ i t

ng. Vi c này nhanh h n; đ ng th i cũng x lý đúng

ế

ả ộ

ố ượ

ơ

tr

ng h p các lá bài cùng tham chi u đ n m t đ i t

ng (t c “đ t bí danh”).

ườ

ế

ế

ộ ố ượ

4.

Vi t m t ph

ng th c có tên

ế

ươ

shuffleDeck đ dùng thu t toán trong M c

ụ 14.2. Có th b n s mu n dùng

ể ạ ẽ

ph

ng th c

ươ

ứ randomInt t Bài t p 3 Ch ng 12.

ươ

5.

Vi t m t ph

ng th c có tên

ế

ươ

indexLowestCard đ dùng ph

ng th c

ươ

ứ compareCard nh m tìm ki m lá

ế

bài th p nh t trong m t kho ng cho tr

c c a c bài (t

ướ ủ ỗ

ừ lowIndex đ n

ế highIndex, k c hai đ u).

ể ả

6.

Vi t m t ph

ng th c có tên

ế

ươ

sortDeck đ s p x p c bài t th p lên cao.

ể ắ

ế ỗ

ừ ấ

7.

Dùng gi mã trong M c 14.6, hãy vi t ph

ng th c có tên

ế

ươ

merge. Đ m b o r ng b n ki m tra nó tr

c

ả ằ

ướ

khi dùng nó làm m t ph n trong

mergeSort.

8.

Vi t m t d ng đ n gi n c a

ế

ộ ạ

ơ

ả ủ mergeSort, d ng chia c bài làm đôi, r i dùng

sortDeck đ s p x p hai n a,

ể ắ

ế

và dùng merge đ t o nên c bài m i, s p x p đúng.

ể ạ

ớ ắ

ế

9.

Vi t m t d ng đ quy hoàn ch nh c a

ế

ộ ạ

ủ mergeSort. Nh r ng

ớ ằ sortDeck là m t ph ng th c s a đ i

ươ

ứ ử

còn mergeSort là m t hàm; nh v y chúng đ

c kích ho t theo cách khác nhau:

ư ậ

ượ

sortDeck(deck);

// sửa đổi cỗ bài sẵn có

deck = mergeSort(deck);

// thay thế cỗ bài cũ bằng cỗ mới

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.