Вы должны рассмотреть возможность использования String.split()
, который возвращает массив String
.
Документация: http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#split(java.lang.String)
Чтобы использовать пробелы и знаки препинания в качестве разделителя, вы могли бы сделать что-то вроде этого:
String[] arrWords = sentence.split("([ ,.]+)");
Если вы действительно хотите идти с оригинальным маршрутом, вы должны будете добавьте некоторые специальные случаи для первого слова и последнего слова. Хотя, что происходит, когда есть несколько пробелов или пунктуация? Испытайте это и узнайте!
public class SeparateWords
{
public static void main(String[] args)
{
String sent ="Hello there how are you";
char x;
String word ="";
int count = 0;
for(int i = 0; i <= sent.length(); i++){
if (i == sent.length()){
word = sent.substring(i-count+1,i);
System.out.println(word);
break;
}
x = sent.charAt(i);
if(x == ' ')
{
if ((i-count) == 0){
word = sent.substring(i-count,i);
}
else{
word = sent.substring(i-count+1,i);
}
System.out.println(word);
word = word + ' ';
count =0;
}
count++;
}
}
}
Выход:
Hello
there
how
are
you
Это секрет ошибка? Или вы можете поделиться им с нами, чтобы мы могли вам помочь? Сообщения об ошибках обычно содержат полезную информацию - не скрывайте ее от нас. – ajb
Какая ошибка вы получаете, и с какими входами (то есть, какое значение «отправлено»)? Что вы ожидаете увидеть? Чем больше вы нам дадите, тем легче нам ответить. На самом деле, чем больше вы нам даете, тем больше вероятность того, что вы найдете решение самостоятельно (это полезный навык для создания). – yshavit