Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка при выводе 
:(
    Опции темы
Merhaba
Дата 29.4.2011, 07:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 23.4.2011

Репутация: нет
Всего: нет



Доброе Утро!
Помогите Пожалуйста исправить код:
Дана последовательность символов (возможно среди них имеются пробелы). Группы символов, разделенные пробелами (одним или несколькими) и не содержащими пробелов внутри себя, будем называть словами. Найдите какое-нибудь слово, оканчивающееся на букву "д". Если таких слов нет, слудует вывести сообщение об этом.
Мой код:
Код

import java.util.Scanner;

public class Main {
 public static void main(String[] args) {
 Scanner con = new Scanner(System.in);
 System.out.println("Введите Пожалуйста символы: ");
 String S = con.nextLine();
 int N = S.length();
 char [] a = new char[N];
 a = S.toCharArray();

 int startIndex = 0; //начальная позиция слова в строке
 for(int i = 1; i <= S.length(); i++ ){ //перебираем все символы строки
           //если дошли до конца строки или i-тый символ - пробел
           //то i указыват на конечную позицию слова в строке
 if(i == S.length() || a[i] == ' '){
 if(startIndex < i && a[i-1] == 'd'){ //если слово не пустое и заканчивается на 'д', печатаем его
 for(int j=startIndex; j <= i; j++){
 System.out.print(a[j]);}
 } else{System.out.println("Таких слов нет!!!");}
 startIndex = i + 1; //устанавливаем на начальную позицию на следующее слово
     }
}
}
}

Выдаёт:
Код

Введите Пожалуйста символы: 
fgfgd
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5
fgfgd        at javaapplication48.Main.main(Main.java:23)
Java Result: 1

PM MAIL   Вверх
carper
Дата 29.4.2011, 08:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 227
Регистрация: 2.3.2005

Репутация: 1
Всего: 8



Цитата(Merhaba @  29.4.2011,  07:45 Найти цитируемый пост)


В JAVA индексация начинается с 0 (я поправил только цикл, не забудьте поправить остальное).

Код

 for(int i = 0; i < S.length(); i++ )


java.lang.ArrayIndexOutOfBoundsException  - вам ясным английским языком об этом сказано. smile

Ну, про то, что не надо изобретать велосипед и есть и регулярные выражения и даже
Код

   String strOrig = "Hello World";
   if(strOrig.endsWith("World")) {
      System.out.println("String ends with World");
   } else {
      System.out.println("String does not end with World");
   }


вам говорить, видимо бесполезно. 
Судя по всему это что-то типа домашнего задания, угадал?  smile

Но отладчиком пользоваться все равно надо учиться. smile

PM MAIL   Вверх
Stolzen
Дата 29.4.2011, 09:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1041
Регистрация: 17.10.2005

Репутация: 23
Всего: 48



Код

        String input = "This    is an \n input strind Ddddd";
        
        for (String s : input.split("\\s+")) {
            if (s.endsWith("d")) {
                System.out.println(s + " ends with 's'");
            }
        }



--------------------
datatalks.ru - анализ данных, статистика, машинное обучение
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0447 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.