0

我正在使用java。我正在尝试提取一个不超过 8 个字符的单词的最后一个字母。然后拉出每个字符后

    lengthOfWord = word.length();
    lc = word.charAt(lengthOfWord -1);

    if (lengthOfWord == 1)
        System.out.println(lc);

当我尝试使用一个字符的单词时,它显示“字符串索引超出范围:-1”,当我尝试使用两个字符的单词时,它显示构建成功,但不打印任何内容。

4

2 回答 2

1

lengthOfWord超出了 的范围word。利用:

lc = word.charAt(lengthOfWord - 1);

请记住,.length() 返回对象的字符数,但对象的索引从 开始0并结束length()-1

更新 试试这个来检查单词中的所有字符:

for (int i = 0; i < word.length(); i++) {
  System.out.println("Char " + i + ": " + word.charAt(i));
}
于 2013-09-23T19:53:57.540 回答
0

lengthOfWord 基于 0,因此您可能想尝试 lc = word.charAt(lengthOfWord - 1);

于 2013-09-23T19:53:52.410 回答