Ich arbeite an dieser Hausaufgabe für die Schule. Ich versuche herauszufinden, wie man einzelne Wörter aus einer Zeichenfolge erhält, die der Benutzer angibt. In meinem Fall sind Wörter immer durch Leerzeichen getrennt. Also zählt mein Code, wie viele Leerzeichen es gibt und macht dann Teilstrings. Bitte helfen Sie, wenn Sie können.Java Teilstring Fehler: String Index außerhalb des Bereichs
System.out.print("Please enter a sentence: ");
String userSentence=IO.readString();
String testWord="";
int countSpaces=0;
for(int j=0; j<userSentence.length(); j++){
if((userSentence.charAt(j))==' '){
countSpaces++;
}
}
for(int i=0; i<userSentence.length(); i++){
if(countSpaces>0){
while(userSentence.charAt(i)==' '){
i++;
countSpaces--;
}
testWord=userSentence.substring(i, userSentence.indexOf(" "));
i=i+(testWord.length()-1);
}
if(countSpaces==0){
testWord=userSentence.substring(i);
i=userSentence.length();
}
System.out.print(testWord);
Sie zählen müssen, wie viele Räume der Satz hat und sie dann entfernen? – Giovane
Ich muss zählen, wie viele Wörter es in einer gegebenen Phrase oder Satz gibt. Und Räume sind das, was zwischen Wörtern unterscheidet. Das Problem, das auftritt, ist mit testWord = userSentenceString (i, userStence.indexOf ("")); –
Nun, anstatt diese Schleifen zu machen, können Sie 'split (" ")' verwenden. Wenn Sie diese Methode für einen 'String' verwenden, wird Ihr' String' in ein Array von 'Strings' zerlegt. Der 'String', den Sie als Parameter an die' split() 'Methode übergeben, ist der" break point "des' String'. Beispiel: '" testing Split wie ein Chef ".split (" ") -> [" Testen "," split "," like "," a "," Chef "]' – Giovane