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

thông th

ng:

ườ

if

(cards[0] ==

null

) {

System.out.println(

"Chưa có quân bài nào!"

);

}

Nh ng n u b n c th truy c p các bi n th c th c a nh ng

ư

ế

ạ ố ử

ế

ể ủ

ữ Card ch a t n t i, b n s nh n đ c bi t

ư ồ ạ

ạ ẽ

ượ

l

ệ NullPointerException.

cards[0].rank;

// NullPointerException

Nh ng đó l i là cú pháp đúng đ truy c p

ư

ậ rank (b c) c a lá bài “th không” trong c . Đây là m t ví d

khác c a phép h p, b ng cách k t h p cú pháp truy c p ph n t c a m ng và truy c p m t bi n th c th

ế ợ

ầ ử ủ

ế

c a đ i t

ng.

ố ượ

Cách d nh t đ đi n nh ng đ i t

ng

ấ ể ề

ố ượ Card đ y vào c bài là vi t nh ng vòng l p for l ng ghép (nghĩa

ế

là vòng l p này đ t trong vòng l p khác):

int

index = 0;

for

(

int

suit = 0; suit <= 3; suit++) {

for

(

int

rank = 1; rank <= 13; rank++) {

cards[index] =

new

Card(suit, rank);

index++;

}

}

Vòng l p ngoài cùng đ m các ch t t 0 t i 3. V i t ng ch t, vòng l p trong đ m các b c t 1 đ n 13. Vì

ế

ấ ừ

ớ ừ

ế

ậ ừ

ế

vòng l p ngoài ch y 4 l n, và vòng l p trong ch y 13 l n, nên ph n thân đ

c th c hi n 52 l n.

ượ

Tôi đã dùng index đ theo dõi lá bài ti p theo s c n ph i đ t vào đâu trong c bài. S đ tr ng thái sau

ế

ẽ ầ

ả ặ

ơ ồ ạ

đây cho th y c bài nh th nào sau khi hai lá bài đ u tiên đ

c huy đ ng:

ấ ỗ

ư ế

ượ

13.7 Ph

ng th c

ươ

ứ printDeck

Khi làm vi c v i m ng, cách ti n l i là có m t ph

ng th c đ in ra n i dung. Ta đã vài l n th y đ

ng

ệ ớ

ệ ợ

ươ

ứ ể

ượ

d ng m u cho vi c duy t m ng, b i v y ph

ng th c sau s quen thu c đ i v i b n:

ở ậ

ươ

ộ ố ớ ạ

public static void

printDeck(Card[] cards) {

for

(

int

i = 0; i < cards.length; i++) {

printCard(cards[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.