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

public static void

main(String[] args) {

processWord(

"banana"

);

}

public static void

processWord(String s) {

char

c = getLastLetter(s);

System.out.println(c);

}

public static char

getLastLetter(String s) {

int

index = s.length();

// SAI!

char

c = s.charAt(index);

return

c;

}

}

L u ý r ng l i n m trong

ư

ỗ ằ

getLastLetter: ch s c a kí t cu i cùng đáng ra ph i là

ỉ ố ủ

ự ố

s.length()-1. Sau đây là

k t qu b n thu đ

c:

ế

ả ạ

ượ

Exception in thread "main" java.lang.StringIndexOutOfBoundsException:

String index out of range: 6

at java.lang.String.charAt(String.java:694)

at BadString.getLastLetter(BadString.java:24)

at BadString.processWord(BadString.java:18)

at BadString.main(BadString.java:14)

Sau đó ch

ng trình k t thúc. L n v t ngăn x p này có th khó đ c, song nó ch a đ ng r t nhi u thông

ươ

ế

ế

ế

tin.

8.5 Đ c tài li u

N u b n truy c p đ n

ế

ế http://download.oracle.com/javase/6/docs/api/java/lang/String.html và kích

chu t vào

charAt, b n s xem đ

c tài li u sau đây (ho c v i n i dung t

ng t ):

ạ ẽ

ượ

ặ ớ ộ

ươ

public char charAt(int index)

Returns the char value at the specified index. An index ranges

from 0 to length() - 1. The first char value of the sequence is

at index 0, the next at index 1, and so on, as for array indexing.

Parameters: index - the index of the char value.

Returns: the char value at the specified index of this string.

The first char value is at index 0.

Throws: IndexOutOfBoundsException - if the index argument is