(私は1ヶ月以内に自分でJavaを勉強したことに留意してください)文字列インデックスが範囲外です - これはなぜ発生しますか?
私はあなたにプログラムに与えた名前の最後の文字を伝えるプログラムを作ろうとしています。しかし、私はしたいと思い、私もこれが1で、文字列の長さを減算することによって行うことができる知っている1
:
import java.util.Scanner;
public class LastCharacter {
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
System.out.println("hey");
String name = reader.nextLine();
lastChar(name);
}
public static char lastChar(String text) {
char lastChar = '\0';;
int i = 0;
for (i = 0; i <= text.length(); i++) {
lastChar = text.charAt(i);
}
System.out.println(lastChar);
return lastChar;
}
}
Error:
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 4
at java.lang.String.charAt(String.java:658)
at LastCharacter.lastChar(LastCharacter.java:19)
at LastCharacter.main(LastCharacter.java:11)
のJava結果:ここに私のコードですなぜこのメソッドが動作していないかを知ってください。私はこれをどのように言いたいのかわからないが、文字列と文字はうまくいかないのだろうか? (plsは私を楽しまないでください)
ありがとう!
この答えは、文字列が0に基づいている理由と、インデックス文字列[strlength]を持たない文字列につながる理由の説明によって改善されます。ありがとう@ nhouser9。 – nhouser9
いい視点ね。私はレスポンスを更新します。 –