Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.javarush.task.task22.task2209;
- import java.io.BufferedReader;
- import java.io.FileReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.Collections;
- import java.util.Comparator;
- /*
- Составить цепочку слов
- */
- public class Solution {
- public static void main(String[] args) throws IOException {
- BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
- String fileName = reader.readLine();
- reader.close();
- BufferedReader fileReader = new BufferedReader(new FileReader(fileName));
- String line = "";
- while (fileReader.ready()) {
- line += fileReader.readLine()+ " ";
- }
- fileReader.close();
- StringBuilder result = getLine(line.split(" "));
- System.out.println(result.toString());
- }
- public static StringBuilder getLine(String... words) {
- if(words.length == 0) return new StringBuilder();
- ArrayList<String> list = new ArrayList<>();
- StringBuilder res = new StringBuilder();
- list.addAll(Arrays.asList(words));
- Collections.sort(list, new SortIgnoreCase());
- res.append(list.get(0) + " ");
- char first;
- char end;
- for(int j = 0;j < list.size();j++) {
- for (int y = j+1; y < list.size(); y++) {
- end = list.get(j).charAt(list.get(j).length() - 1);
- first = list.get(y).charAt(0);
- if(String.valueOf(end).equalsIgnoreCase(String.valueOf(first))) {
- res.append(list.get(y) + " ");
- list.add(j+1,list.get(y));
- list.remove(list.get(y));
- break;
- } else {
- list.add(list.get(y));
- list.remove(list.get(y));
- if(y == list.size()-1) {
- res.append(list.get(list.size()-1));
- break;
- }
- y--;
- }
- }
- }
- return res;
- }
- public static class SortIgnoreCase implements Comparator<Object> {
- public int compare(Object o1, Object o2) {
- String s1 = (String) o1;
- String s2 = (String) o2;
- return s1.toLowerCase().compareTo(s2.toLowerCase());
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement