Алгоритм поиска в тексте

402
17 июня 2017, 12:15

Всем доброго времени суток. Хотел бы выслушать идеи алгоритмов для следующего задания. Пишу на Java. Имеется .txt фаил допустим:

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

Я запрашиваю у пользователя слово. Допустим слово - стол. И мне нужно вывести в другой .txt фаил только те столбцы где находится слово стол, т.е в данном примере было бы:

    стол
    мусор
    зарядка
    табуретка
    стол
    лампа

P.s была идея идти по строке, проверять каждое слово на сходство, и при этом вести счётчик для каждой итерации по словам в строке. Т.е если бы во второй строке попалось бы нужное слово, то индекс добавлял бы в массив. На выходе у меня был бы массив с номерами столбцов в которых есть искомое слово. Но как следовать дальше не знаю. Буду благодарен за любые идеи.

Answer 1

Лучше идти не по строкам, а по столбцам. Тогда если в столбце встретилось слово, то можно сразу вывести этот столбец и перейти к следующему.

String wordToFind = ...
String[][] words = ...
int numberRows = words.length;
int numberColumns = words[0].length;
for (int j = 0; j < numberColumns; ++j) {
    boolean columnContainsWord = false;
    for (int i = 0; i < numberRows; ++i) {
        if (wordToFind.equals(words[i][j])) {
            columnContainsWord = true;
            break;
        }
    }
    if (columnContainsWord) {
        // выводим столбец
        for (int i = 0; i < numberRows; ++i) {
            System.out.println(words[i][j]);
        }
    }
}
READ ALSO
При запуске Appium теста для Андроид - ошибка &#39;java -version&#39; failed

При запуске Appium теста для Андроид - ошибка 'java -version' failed

Запускаю Appium Test для Android из Intellij IdeaПроект делал по обучающему видео

222
Вызов передаваемого метода в методе Java

Вызов передаваемого метода в методе Java

Нужно сделать сортитовку JSONObjectПодскажите пожалуйста

213
Сортировка JSONObject по ключу дате Java, алгоритм

Сортировка JSONObject по ключу дате Java, алгоритм

Использую JSONSimpleИмею такой Json:

336
Фактическая роль репозитория в Clean Architecture

Фактическая роль репозитория в Clean Architecture

Задался вопросом: а кем выступает репозиторий для Domain слояПравильно ли я понимаю, что репозиторий — просто мост, между логикой и системно-зависимой...

342