Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.javarush.task.task22.task2209;
- import java.io.*;
- import java.util.*;
- /*
- Составить цепочку слов
- */
- public class Solution {
- public static void main(String[] args) throws IOException {
- /*BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
- BufferedReader fr = new BufferedReader(new FileReader(reader.readLine()));
- String txt;
- String stroka="";
- while ((txt=fr.readLine())!=null){
- stroka+=txt+" ";
- }
- reader.close();
- fr.close();
- StringBuilder result = getLine(stroka);
- System.out.println(result.toString());*/
- System.out.println(getLine("alpha elephant kick linea android eels kill sum eye spud drink even bee dad num tea test sims apple mob mate"));
- System.out.println(getLine("Абинск Кабул Киров Ватикан Называевск"));
- System.out.println(getLine("АГ ЖЖ ДБ ЕЕ АБ ЖЕ БВ ГД ДЕ ЕЖ ЖГ ГЖ ЕЕ ЕД ВА"));
- System.out.println(getLine("bee elephant num apple mob eels elain tea sum mate"));
- System.out.println(getLine("sum eels mate num bee mob even eye"));
- System.out.println(getLine("mate bee dad android sum drink kill elephant linea apple tea even num eels mob"));
- System.out.println(getLine("Кабул Абинск Киров Ватикан Называевск"));
- }
- public static StringBuilder getLine(String... words) {
- StringBuilder builder = new StringBuilder();
- if (words == null || words.length == 0) {return builder;}
- String[] a = Arrays.asList(words).get(0).split(" ");
- ArrayList<String> stringArrayList = new ArrayList<>();
- for (int i = 0; i < a.length; i++) {
- stringArrayList.add(a[i]);
- }
- if (a.length==1 || words[0].equals("")) {return builder.append(words[0]);}
- List<String> list = new ArrayList<>();
- builder.append(stringArrayList.get(0));
- stringArrayList.remove(0);
- int countWhile = 0;
- while (stringArrayList.size()>1){
- while (true) {
- if (countWhile==stringArrayList.size()){
- countWhile = 0;
- break;
- }
- char last = builder.toString().toLowerCase().charAt(builder.length()-1);
- char first = stringArrayList.get(countWhile).toLowerCase().charAt(0);
- if (last == first){
- builder.append(" "+stringArrayList.get(countWhile));
- stringArrayList.remove(countWhile);
- countWhile=0;
- }else countWhile++;
- }
- while (true)
- {
- if (countWhile == stringArrayList.size()){
- countWhile= 0 ;
- break;
- }
- char last = stringArrayList.get(countWhile).toLowerCase().charAt(stringArrayList.get(countWhile).length()-1);
- char first = builder.toString().toLowerCase().charAt(0);
- if (last == first){
- builder.insert(0,stringArrayList.get(countWhile)+" ");
- stringArrayList.remove(countWhile);
- countWhile = 0;
- }else countWhile++;
- }
- list.add(0,builder.substring(builder.lastIndexOf(" ")));
- builder.delete(builder.lastIndexOf(" "), builder.length());
- }
- for (int i = 0; i <list.size() ; i++) {
- builder.append(list.get(i));
- }
- return builder;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment