есть предположение что удваивание строки надо задать через умножение на число, но опять же, решил иначе - не значит не правильно.
package com.javarush.task.task07.task0727;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
/*
Меняем функциональность
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
//
// ArrayList<String> strings = new ArrayList<String>();
// while (true) {
// String string = reader.readLine();
// if (string == null || string.isEmpty()){
// break;
// }
// strings.add(string);
// }
int b = Integer.MAX_VALUE;
ArrayList<String> resultStrings = new ArrayList<String>();
for (int i = 0; i < b; i++){
resultStrings.add(reader.readLine());
if(resultStrings.get(i) == null || resultStrings.get(i).isEmpty()){
break;
}
}
for (int i = 0; i < resultStrings.size() ; i++) {
if (resultStrings.get(i).length() % 2 == 0){
System.out.println(resultStrings.get(i) + " " + resultStrings.get(i));
}else if(resultStrings.get(i).length() % 3 == 0){
System.out.println(resultStrings.get(i) + " " + resultStrings.get(i) + " " + resultStrings.get(i));
}
}
}
}