Я пытаюсь написать свою собственную программу подсчета слов Java. Я знаю, что для этого может быть метод, но я бы хотел, чтобы он работал. Я получаю ошибку за пределами строки в строке 14. Я пытаюсь использовать входное слово, чтобы подсчитать, сколько раз оно появляется во входной строке. Поэтому я перебираю stringlength
- wordlength
, но вот в чем проблема.ошибка за пределами ошибки со счетчиком слов
Вот код:
import java.util.Scanner;
public class wordcount {
public static void main(String[] args)
{
Scanner s = new Scanner(System.in);
System.out.print("Enter word : " );
String word = s.nextLine();
Scanner t = new Scanner(System.in);
System.out.print("Enter string: ");
String string = t.nextLine();
int count = 0;
for (int i = 0; i < string.length()-word.length(); i = i+1){
String substring = string.substring(i,i+word.length());
if (match(substring, word)==true){
count += 1;
}
}
System.out.println("There are "+count+ " repetitions of the word "+word);
}
public static boolean match(String string1, String string2){
for (int i=0; i<string1.length(); i+=1){
if (string1.charAt(i)!=string2.charAt(i)){
return false;
}
}
return true;
}
}
Кажется, что все нормально. С каким вкладом вы получаете IndexOutOfBoundsException? –