Мне нужно разбить строку на слова, а после проверить, сходятся ли 1-я и последняя буква слова.
Проблема в том, что слово выходит с цикла после 1 раза, ссылаясь на то что, оно выходит за длину. Помогите, не понимаю, как сделать, чтобы оно прошло.
Пишет, что проблема вот в этой строке:if(substr1.charAt(indexOfSpace) == substr1.charAt(nextIndexOfSpace-1))
int indexOfSpace = 0;
int nextIndexOfSpace = 0;
StringBuffer sentence = new StringBuffer("thit mom wow sentenc");
int length = sentence.length();
int lastIndexOfSpace = sentence.lastIndexOf(" ");
nextIndexOfSpace = sentence.indexOf(" ",indexOfSpace);
String substr1 = sentence.substring(indexOfSpace,nextIndexOfSpace);
do
{
//checking words algorithm
if(substr1.charAt(indexOfSpace) == substr1.charAt(nextIndexOfSpace-1))
{
System.out.println("WORD IS CORRECT");
System.out.println(substr1);
}
else
System.out.println("NO");
indexOfSpace = nextIndexOfSpace;
nextIndexOfSpace = sentence.indexOf(" ",indexOfSpace);
}
while(indexOfSpace != lastIndexOfSpace);
if(indexOfSpace == lastIndexOfSpace)
{
//the last word check
if(sentence.charAt(lastIndexOfSpace+1) == sentence.charAt(length-1))
{
System.out.println(sentence.charAt(lastIndexOfSpace+1));
System.out.println(sentence.charAt(length-1));
System.out.println("last word ");
}
}
Можно упростить код, если через split
слова получить:
String text = "thit mom wow sentenc";
for (String word : text.split(" ")) {
if (word.charAt(0) == word.charAt(word.length() - 1)) {
System.out.println("WORD IS CORRECT: " + word);
} else {
System.out.println("WORD IS NOT CORRECT: " + word);
}
}
Результат:
WORD IS CORRECT: thit
WORD IS CORRECT: mom
WORD IS CORRECT: wow
WORD IS NOT CORRECT: sentenc
Проблема в том что вы обращаетесь к подстроке substr1
, а индексы ищите в sentence
.
if(sentence.charAt(indexOfSpace) == sentence.charAt(nextIndexOfSpace-1))
Еще одна проблема в
nextIndexOfSpace = sentence.indexOf(" ",indexOfSpace);
должно быть
nextIndexOfSpace = sentence.indexOf(" ",indexOfSpace + 1);
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Можно ли, а если можно то каким образом я могу рисовать на загруженной картинкеНапример создали сферу, наложили на нее diffuseMap и необходимо...
Я хочу добавить одну и ту же кнопку в разные дочернии панелиЕсли я добавляю эту единственную кнопку всего в одну дочернюю панель, то все хорошо...
Есть ли простой способ получить из объектов класса LocalDate или LocalDateTime объект класса Calendar?
Начал изучать JavaEE, но не знаю, где можно попрактиковать навыкиМб вы знаете где можно посмотреть готовые проекты JavaEE или не готовые, что бы самому...