1
クラスのコードを記述していましたが、このエラーが発生しました。文字列インデックスが範囲外です。私はそれが文字列= nullかもしれないかどうかを調べたが、そうではない。私はそれが方法で私のifステートメントと関係があると推測していますが、私はどこにそれを修正する方法を見つけることができませんでした。どのような助けもありがとう、ありがとう!文字列インデックスがメソッド内で範囲外にあります。Java
import java.util.*;
public class Occurences {
public static void main(String[] args) {
int check = 0;
char characterInput = ' ';
do {
Scanner scan = new Scanner(System.in);
System.out.println("Please enter a string: ");
String input = scan.next();
System.out.println("Enter a character to find it's occurence in the string: ");
characterInput = scan.next().charAt(0);
int i = count(input, characterInput);
System.out.println(characterInput + ", is in " + input + ", " + i + " times.");
System.out.println("To continue enter any number, to exit enter -1: ");
check = scan.nextInt();
} while (check != -1);
}
public static int count(String input, char characterInput) {
int cnt = 0;
int j = input.length();
while (j > 0) {
if (input.charAt(j) == characterInput) {
cnt += 1;
}
j--;
}
return cnt;
}
}
設定最後の文字がある:あなたは方法1を使用して、それを解決しました。 – Gendarme
存在しない配列インデックスにアクセスしようとすると、Javaインデックスの範囲外エラーが発生します。 Java配列はインデックス0で始まることに注意することが重要です。この情報に基づいて理解できるかどうかを確認してください。私は答えをあきらめたくありません...あなたが学ぶのを助けることはありません。 –
int j = input.length() - 1; – Abdelhak