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