私はCSファイナルのためにいくつかの演習を行っていますが、この問題に悩まされています。この問題では、文字列を読み取り、ユーザーから最小の長さを取得し、少なくともその数の文字を含む単語の量を返す必要があります。私のコードは問題ないように見えますが、答えを出力できません。誰かが私を助けることができますか?
public class WordCount {
public static void main (String [] args) {
System.out.println("Enter a string: ");
String input = IO.readString();
System.out.println("Enter minimum word length");
int wordlength = IO.readInt();
int count = 0 ;
do {
for (int i = 0 ; i < input.length(); i ++) {
if (input.indexOf(i) == ' ') {
String check = input.substring(0, i);
if (check.length() >= wordlength) {
count++;
input = input.substring(i);
break;
}
}
}
} while (input.length() > 0);
System.out.print("Words longer than " + wordlength + " characters: " + count);
}
}
whileループが無限に実行されているように見えますが、理由がわかりません。