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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> определение слов в файле 
:(
    Опции темы
sincerity
Дата 25.12.2013, 18:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Помогите, пожалуйста, решить задачу.
Напишите программу, печатающую на экране только слова, найденные в некотором файле. Словом считается последовательность букв русского и английского алфавита.
PM MAIL   Вверх
Samotnik
Дата 25.12.2013, 19:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

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



Код

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class WordDetector {

    public static void main(String[] args) {
        String pathToFile = "d:/test.txt";
        String fileContains = "";
        try {
            fileContains = readFile(pathToFile);
        } catch (IOException e) {
            e.printStackTrace();
        }
        String[] words = fileContains.split("\\s+");
        for (String word : words) {
            boolean isCyrillicLetter = false;
            boolean isLatinLetter = false;
            for (int i = 0; i < word.length(); i++) {
                if (isCyrillicLetter(word.charAt(i))) {
                    isCyrillicLetter = true;
                }
                if (isLatinLetter(word.charAt(i))) {
                    isLatinLetter = true;
                }
            }
            if (isCyrillicLetter && isLatinLetter) {
                System.out.println("There is a 'word' with English and Russian characters: " + word);
            }
        }
    }

    private static boolean isCyrillicLetter(char c) {
        return Character.UnicodeBlock.CYRILLIC.equals(Character.UnicodeBlock.of(c));
    }

    private static boolean isLatinLetter(char c) {
        return (c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z');
    }

    private static String readFile(String pathToFile) throws IOException {
        BufferedReader br = new BufferedReader(new FileReader(pathToFile));
        try {
            StringBuilder sb = new StringBuilder();
            String line = br.readLine();
            while (line != null) {
                sb.append(line);
                line = br.readLine();
            }
            return sb.toString();
        } finally {
            br.close();
        }
    }
}


test.txt
Код

Mama мыla раму

ololo

trollo

ололошенькаTrololoshenka


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

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

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


 




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


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

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