#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]); } } }
Комментариев нет:
Отправить комментарий