1. Главная
  2. Библиотека
  3. Программирование
  4. В файле содержатся слова, разделенные пробелом. Составь цепочку из этих слов таким образом, чтобы последняя буква каждого...

В файле содержатся слова, разделенные пробелом. Составь цепочку из этих слов таким образом, чтобы последняя буква каждого слова совпадала с первой буквой следующего слова. Учитывай, что регистр букв не имеет значения. Каждое слово должно быть использовано

«В файле содержатся слова, разделенные пробелом. Составь цепочку из этих слов таким образом, чтобы последняя буква каждого слова совпадала с первой буквой следующего слова. Учитывай, что регистр букв не имеет значения. Каждое слово должно быть использовано»
  • Программирование

Условие:

В методе main считай с консоли имя файла, который содержит слова, разделенные пробелом.
В методе getLine используя StringBuilder расставь все слова в таком порядке, чтобы последняя буква данного слова совпадала с первой буквой следующего не учитывая регистр.
Каждое слово должно участвовать 1 раз.
Считай, что абсолютно все слова из исходного списка могут (и должны!) быть включены в результат (лишних слов нет).
Метод getLine должен возвращать любой правильный вариант при наличии нескольких таковых (см. пример).
Слова разделять пробелом.
Вывести полученную строку на экран.

Пример тела входного файла:
Киев Нью-Йорк Амстердам Вена Мельбурн

Результат:
Амстердам Мельбурн Нью-Йорк Киев Вена
или
Вена Амстердам Мельбурн Нью-Йорк Киев
или
Мельбурн Нью-Йорк Киев Вена Амстердам
и т.п.

Требования:
• Метод main должен считывать имя файла с клавиатуры.
• В классе Solution не должно быть статических полей.
• В методе getLine должен быть использован StringBuilder.
• Метод getLine должен возвращать пустую строку (пустой StringBuilder) в случае если ему не были переданы параметры (слова).
• Метод getLine не должен изменять переданные ему параметры (слова).
• Все слова переданные в метод getLine должны быть включены в результирующую строку.
• Вывод на экран должен соответствовать условию задачи.

package com.javarush.task.task22.task2209;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;

/*
Составить цепочку слов
*/

public class Solution {
public static void main(String[] args) {
//...
StringBuilder result = getLine();
System.out.println(result.toString());
}

public static StringBuilder getLine(String... words) {
return null;
}
}

Решение:

Для решения задачи, нам нужно реализовать метод `getLine`, который будет составлять цепочку слов, где последняя буква одного слова совпадает с первой буквой следующего слова. Мы будем использовать `StringBuilder` для формирования результата. Вот шаги, которые мы будем выполнять: 1. Считать имя файла с консоли. 2. Прочитать содержимое файла и разбить его на слова. 3. Реализовать метод `getLine`, который будет принимать массив слов и возвращать строку, составленную по заданным правилам. 4. Использовать алгоритм поиска, чтобы найти подходящую последовательность слов. 5. Вывести результат на эк...

Не нашел нужную задачу?

Воспользуйся поиском

Выбери предмет