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

i--;

}

return

total;

}

public static void

main(String[] args) {

System.out.println(mystery(

"Allen"

));

}

}

Bài t p 7

M t ng

i b n cho b n xem ph

ng th c sau đây và di n gi i r ng n u

ườ ạ

ươ

ả ằ

ế number là s có hai

ch s b t kì, thì ch

ng trình s in các ch s theo chi u ng

c l i. Ng

i y kh ng đ nh r ng

ữ ố ấ

ươ

ữ ố

ượ ạ

ườ ấ

n u

ế number là 17, thì ph ng th c s cho ra k t qu b ng

ươ

ứ ẽ

ế

ả ằ 71. Li u ng i đó có đúng không? N u không,

ườ

ế

hãy gi i thích ch

ng trình th c s làm gì và s a ch a đ nó cho k t qu đúng.

ươ

ự ự

ế

int

number = 17;

int

lastDigit = number%10;

int

firstDigit = number/10;

System.out.println(lastDigit + firstDigit);

Bài t p 8

K t qu c a ch

ng trình sau là gì?

ế

ả ủ

ươ

public class

Enigma {

public static void

enigma(

int

x) {

if

(x == 0) {

return

;

}

else

{

enigma(x/2);

}

System.out.print(x%2);

}

public static void

main(String[] args) {

enigma(5);

System.out.println(

""

);

}

}

Hãy gi i thích ng n g n b ng 4-5 t xem ph

ng th c

ươ

ứ enigma th c s làm đi u gì.

ự ự

Bài t p 9

1.

Hãy l p m t ch

ng trình m i có tên

ươ

Palindrome.java.

2.

Vi t m t ph

ng th c có tên

ế

ươ

first nh n vào m t String r i tr l i ch cái đ u tiên, và m t ph

ng

ả ạ

ươ

th c

ứ last đ tr l i ch cái cu i cùng.

ể ả ạ

3.

Vi t m t ph

ng th c có tên

ế

ươ

middle nh n vào m t String r i tr l i m t chu i con có ch a m i th tr

ồ ả ạ

ứ ừ

hai ch cái đ u và cu i. G i ý: hãy đ c tài li u v ph

ng th c

ươ

ứ substring trong l p

ớ String. Hãy ch y m t

vài phép th đ ch c r ng b n hi u rõ cách ho t đ ng c a

ử ể ắ ằ

ạ ộ

ủ substring tr c khi th vi t

ướ

ử ế middle. Đi u gì