LINUX.ORG.RU

История изменений

Исправление bvn13, (текущая версия) :

Весь тред не читал. Давай я за джавистов скажу.

import java.util.List;
import java.util.Scanner;
import java.util.stream.Collectors;
import java.util.stream.Stream;

public class FunStringJoiner {

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        while (scanner.hasNextLine()) {
            String arg = scanner.nextLine();

            List<String> words = Stream.of(arg.split("\\+")).map(String::trim).collect(Collectors.toList());
            if (words.size() == 2) {
                String substr = "";
                int len = words.get(0).length();
                for (int pos = len; pos > 0; pos--) {
                    String seq = words.get(0).substring(len - pos, len);
                    if (words.get(1).startsWith(seq)) {
                        substr = seq;
                        break;
                    }
                }
                System.out.printf("%s + %s = %s%s\n", words.get(0), words.get(1), words.get(0), words.get(1).replace(substr, ""));
            }
        }
    }
}
cat test.case| java -jar build/libs/FunStringJoiner.jar
шлакоблок + окунь = шлакоблокунь
папа + папаха = папаха
карусель + сельдь = карусельдь
спорткар + карась = спорткарась
форель + рельса = форельса

ps. java11

Исправление bvn13, :

Весь тред не читал. Давай я за джавистов скажу.

import java.util.List;
import java.util.Scanner;
import java.util.stream.Collectors;
import java.util.stream.Stream;

public class FunStringJoiner {

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        while (scanner.hasNextLine()) {
            String arg = scanner.nextLine();

            List<String> words = Stream.of(arg.split("\\+")).map(String::trim).collect(Collectors.toList());
            if (words.size() == 2) {
                String substr = "";
                int len = words.get(0).length();
                for (int pos = len; pos > 0; pos--) {
                    String seq = words.get(0).substring(len - pos, len);
                    if (words.get(1).startsWith(seq)) {
                        substr = seq;
                        break;
                    }
                }
                System.out.printf("%s + %s = %s%s\n", words.get(0), words.get(1), words.get(0), words.get(1).replace(substr, ""));
            }
        }
    }
}
cat test.case| java -jar build/libs/FunStringJoiner.jar
шлакоблок + окунь = шлакоблокунь
папа + папаха = папаха
карусель + сельдь = карусельдь
спорткар + карась = спорткарась
форель + рельса = форельса

Исправление bvn13, :

Весь тред не читал. Давай я за джавистов скажу.

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        while (scanner.hasNextLine()) {
            String arg = scanner.nextLine();

            List<String> words = Stream.of(arg.split("\\+")).map(String::trim).collect(Collectors.toList());
            if (words.size() == 2) {
                String substr = "";
                int len = words.get(0).length();
                for (int pos = len; pos > 0; pos--) {
                    String seq = words.get(0).substring(len - pos, len);
                    if (words.get(1).startsWith(seq)) {
                        substr = seq;
                        break;
                    }
                }
                System.out.printf("%s + %s = %s%s\n", words.get(0), words.get(1), words.get(0), words.get(1).replace(substr, ""));
            }
        }
    }

cat test.case| java -jar build/libs/FunStringJoiner.jar
шлакоблок + окунь = шлакоблокунь
папа + папаха = папаха
карусель + сельдь = карусельдь
спорткар + карась = спорткарась
форель + рельса = форельса

Исходная версия bvn13, :

Весь тред не читал. Давай я за джавистов скажу.

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        while (scanner.hasNextLine()) {
            String arg = scanner.nextLine();

            List<String> words = Stream.of(arg.split("\\+")).map(String::trim).collect(Collectors.toList());
            if (words.size() == 2) {
                String substr = "";
                int len = words.get(0).length();
                for (int pos = len; pos > 0; pos--) {
                    String seq = words.get(0).substring(len - pos, len);
                    if (words.get(1).startsWith(seq)) {
                        substr = seq;
                        break;
                    }
                }
                System.out.printf("%s + %s = %s%s\n", words.get(0), words.get(1), words.get(0), words.get(1).replace(substr, ""));
            }
        }
    }

cat test.case| java -jar build/libs/FunStringJoiner.jar
шлакоблок + окунь = шлакоблокунь
папа + папаха = папаха
карусель + сельдь = карусельдь
спорткар + карась = спорткарась
форель + рельса = форельса