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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Из текста удалить все символы,кроме пробелов, Работа со String 
:(
    Опции темы
nikcrazyman
Дата 27.10.2010, 23:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Вот задание(Из небольшого текста удалить все символы,кроме пробелов,не являющиеся буквами.Между последовательностями подряд идущих букв оставить хотя бы один пробел.При выполнении задания создать и использовать классы Word и Sentence.)
Мой вопрос:"Как использовать в этой програмее класы Word и  Sentence,чтобы отразить грамотную иерархию?"
PM MAIL   Вверх
lazycat
  Дата 28.10.2010, 04:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Наверное, задание писал препод по информатике? Чувствуется рука профессионала   smile 
При такой постановке задачи ни Word ни Sentence и даром не нужны. 

Я бы делал так.
Анализируется последовательность символ за символом, начиная с начала. Если "не буква" расположена в начале последовательности или следует за пробелом, она удаляется. Если за буквой - она заменяется пробелом. Буквы не трогаются. Сразу не соображу, поздно уже, но похоже, что достаточно будет одного прохода. И никаких классов не надо, достаточно одного статического метода.


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


Интересующийся :)
*


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

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



Не очень понял, для чего здесь нужны "классы Word и Sentence"...
Код

package textcleaner;

public class Main {

    public static void main(String[] args) {

        // input text here.
        StringBuffer sb = new StringBuffer("1 4  5q we573r2ty  44ff 0 hh22 ss tr a");

        if (sb.length() != 0) {
            System.out.println("Source text:" + sb);
            // deleting non-letters before first letter.
            while (!Character.isLetter(sb.charAt(0))) {
                sb.deleteCharAt(0);
            }
            // continue text cleaning.
            for (int i = 0; i < sb.length(); i++) {

                if (!Character.isLetter(sb.charAt(i))
                        && !Character.isWhitespace(sb.charAt(i))) {
                    sb.setCharAt(i, ' ');
                }
            }
            System.out.println("Cleaned text:" + sb);
        }
        else {
            System.out.println("Text not found.");

        }
    }
}

Если будет желание, ввод/вывод из файла можете сами дописать.

Удачи  smile 

Это сообщение отредактировал(а) nc30 - 28.10.2010, 09:33
PM MAIL   Вверх
carper
Дата 28.10.2010, 09:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(nikcrazyman @ 27.10.2010,  23:47)
Вот задание(Из небольшого текста удалить все символы,кроме пробелов,не являющиеся буквами.Между последовательностями подряд идущих букв оставить хотя бы один пробел.При выполнении задания создать и использовать классы Word и Sentence.)
Мой вопрос:"Как использовать в этой програмее класы Word и  Sentence,чтобы отразить грамотную иерархию?"

В принципе, я бы сделал как-то так:
Код

  testStr.replaceAll("[^ a-zA-zА-Яа-яёЁ]+", " ");


По мере понимания того, что буквы понятие относительное, можно корректировать данную последовательность для разных языков. smile

Чего хочет ваш преподаватель в виде классов Word и  Sentence я элементарно не могу понять.

Ну, наверное, сей титан мысли хочет, чтобы вы сначала разбили текст на слова, по какому-то признаку и поместили их в экземпляры класса Word (не теряя пробелы, которых может быть более одного, между словами), одновременно удаляя "не буквенные символы" руководствуясь тем, что если после них есть пробелы, то "не буквенные символы удаляется вообще", а если нет то заменяются на один пробел. 

Потом нашли границы предложений (кстати, любопытно попросить вашего преподавателя объяснить как надо использовать знаки препинания в древнееврейском), и записали уже найденные экземпляры класса Word в Sentence.
Потом из полученных Sentence склеили обратно текст.

В общем, я промоделировать тараканы в мозгу преподавателя не берусь. Вы его лучше знаете вот и догадайтесь, что ему на самом деле надо.

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


Новичок



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

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



Спасибо за овтеты,вот только всеравно необходимо что-то засунуть в классы предложение и слово,это собеседование,где мол надо показать наследование и полиморфизм,эти классы совсем не нужны это понятно,но все же...
PM MAIL   Вверх
lazycat
Дата 28.10.2010, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Если это собеседование, то мой совет:  бегите из той фирмы поскорее и подальше. В ней профессиональный рост вниз Вам обеспечен.  smile 
PM MAIL   Вверх
nc30
Дата 28.10.2010, 12:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Интересующийся :)
*


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

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



nikcrazyman
Пренебрежение простым и очевидным решением ради изобретения велосипеда с пятью квадратными колесами выглядит довольно странно. Для того чтобы проверить знание принципов ООП можно придумать более подходящую задачу  smile
PM MAIL   Вверх
nikcrazyman
Дата 28.10.2010, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Да уже сходил на собеседование,вынес себе мозг,это epam,целый день ломал мозг над идиотской поставленной задачей,изобретение велосипеда с 5 квадратными колесами это в точку,так там даже прогу не смотрели,начали спрашивать про css,html,XML,Sql,Oracl,Linux и т.п.,хотя в условии собеседования было написано базовые знания Java и средний английский.
PM MAIL   Вверх
lazycat
Дата 28.10.2010, 19:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



А если не секрет, в каком городе epam?
PM MAIL   Вверх
nikcrazyman
Дата 28.10.2010, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Минск!!!Я студент 4 курса...
PM MAIL   Вверх
lazycat
Дата 28.10.2010, 20:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Я как-то был на собеседовании в киевском офисе epam. Провели со мной три собеседования, после чего сказали, что мой профессиональный уровень их не устраивает. В принципе все может быть, я не в обиде. Смешно другое: в процессе всех трех собеседований мне не задали ни одного вопроса по программированию. Похоже это еще та фирма.
PM MAIL   Вверх
sergioK
Дата 31.10.2010, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 207
Регистрация: 15.2.2008

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



Цитата(nikcrazyman @ 28.10.2010,  14:13)
Да уже сходил на собеседование,вынес себе мозг,это epam,целый день ломал мозг над идиотской поставленной задачей,изобретение велосипеда с 5 квадратными колесами это в точку,так там даже прогу не смотрели,начали спрашивать про css,html,XML,Sql,Oracl,Linux и т.п.,хотя в условии собеседования было написано базовые знания Java и средний английский.

попроси их перести это на русский 

To drink a glass of milk cow did not Caryl smile 
PM MAIL   Вверх
niasilil
Дата 31.10.2010, 17:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(sergioK @ 31.10.2010,  12:13)
попроси их перести это на русский 

To drink a glass of milk cow did not Caryl smile

бессмыслица какая то


--------------------
SCJP 5.0, SCJD
PM MAIL   Вверх
sergioK
Дата 1.11.2010, 13:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 207
Регистрация: 15.2.2008

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



Цитата(niasilil @ 31.10.2010,  17:36)
Цитата(sergioK @ 31.10.2010,  12:13)
попроси их перести это на русский 

To drink a glass of milk cow did not Caryl smile

бессмыслица какая то

в смысле в США  так не говорят? там другой английский   smile 
PM MAIL   Вверх
powerOn
Дата 1.11.2010, 16:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

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



Цитата(lazycat @  28.10.2010,  20:53 Найти цитируемый пост)
Смешно другое: в процессе всех трех собеседований мне не задали ни одного вопроса по программированию.


OFFTOP: Может они тебя не на позицию программиста присматривали.  smile 


--------------------
user posted image нет времени думать - нужно писать КОД!

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

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

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


 




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


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

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