#java #алгоритм
Всем доброго времени суток. Хотел бы выслушать идеи алгоритмов для следующего задания.
Пишу на Java. Имеется .txt фаил допустим:
стул,стол,книга,табуретка
диван,мусор,ноутбук,стол
ручка,зарядка,мышь,лампа
Я запрашиваю у пользователя слово. Допустим слово - стол. И мне нужно вывести в другой
.txt фаил только те столбцы где находится слово стол, т.е в данном примере было бы:
стол
мусор
зарядка
табуретка
стол
лампа
P.s была идея идти по строке, проверять каждое слово на сходство, и при этом вести
счётчик для каждой итерации по словам в строке. Т.е если бы во второй строке попалось
бы нужное слово, то индекс добавлял бы в массив. На выходе у меня был бы массив с номерами
столбцов в которых есть искомое слово. Но как следовать дальше не знаю. Буду благодарен
за любые идеи.
Ответы
Ответ 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]); } } }
Комментариев нет:
Отправить комментарий