решил задачу данным образом, но проблема в том, если бы строку нужно было бы увеличить в 1000 раз или 100 000 раз мой код однозначно не подходит устанешь писать. может я в процессе обучения упустил что то? если не сложно покажите на примере или ссылку на лекцию дайте заранее спасибо.
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);
        }

        ArrayList<String> resultStrings = new ArrayList<String>();
        for (int i = 0; i < strings.size(); i++)
        {
            if(strings.get(i).length()%2 == 0)
            {
                strings.set(i,(strings.get(i)+" "+strings.get(i)));
                resultStrings.add(strings.get(i));
            }
            else
                {
                strings.set(i,(strings.get(i)+" "+strings.get(i)+" "+strings.get(i)));
                resultStrings.add(strings.get(i));
            }

        }

        for (int i = 0; i < resultStrings.size(); i++) {
            System.out.println(resultStrings.get(i));
        }
    }
}