今後のテストを準備し、部分文字列の仕組みを理解しようとしています。 私は本当に説明をオンラインで得られないので、私に説明してください。 私のエラーは次のとおりです:StringIndexOutOfBounds例外 文字列を抽出するために部分文字列を呼び出すときにendIndexから自動的に-1のようにエラーが発生する原因を理解できません。それは私が1を追加した理由ですが、動作しません。Constant StringIndexOutOfBoundsException
public static void main(String[] args) {
Scanner scn = new Scanner(System.in);
System.out.print("Enter the string: ");
String string = scn.nextLine();
System.out.print("Enter the start char: ");
char startChar = scn.next().charAt(0);
System.out.print("Enter the end char: ");
char endChar = scn.next().charAt(string.length() - 1);
int startIndex = string.indexOf(startChar); //Get index of the start character
int endIndex = string.indexOf(endChar);
if(startIndex == -1) {
System.out.println("No such substring"); //First char doesn't exist
}
else {
if(endIndex == -1) {
System.out.println("No such substring");
}
else {
String extractedString = string.substring(startIndex, endIndex + 1); //Cause sub string is -1
System.out.println("Substring [" + extractedString + "]" + " is found");
}
}
デバッガを試しましたか? – Li357
入力データには何を入力しましたか? –
文字列:フィボナッチ系列、開始文字の場合:終了文字の場合:F – Aloysius