簡體   English   中英

為什么不打印單詞的最后一個字符?

[英]Why doesn't this print the last character of the word?

我正在使用Java。 我正在嘗試取出8個字符以內的單詞的最后一個字母。 然后拉出每個字符

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

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

當我嘗試使用一個字符的單詞時,它說“字符串索引超出范圍:-1”,當我嘗試使用兩個字符的單詞時,它說“ build”成功,但是不打印任何內容。

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));
}

lengthOfWord基於0,因此您可能想嘗試lc = word.charAt(lengthOfWord-1);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM