Разбивка слова на символы и увеличение каждого символа в слове на один с новой строки

166
01 января 2020, 03:30

Камрады, приветствую. Осваиваю java core. Делаю задание в котором нужно: Вывести в консоле строки, состоящие из введенных символов. Строка вводится с клавиатуры. Например, слово "Шар". Должно получиться: Ш АА РРР

Мозгов хватает пока только на это. Понимаю, что нужны два цикла, но уже голову сломал.

package s01;
public class Task01 {
    public static void main(String[] args) {
        String str = "шар";
        char[] array = new char[str.length()];
        for (int i = 0, j = 0; j < str.length(); i += 0, j++) {
                array[i] = str.charAt(j);
                array[j] = str.charAt(i);
                System.out.println(array);
        }
    }
}
Answer 1

Правда без разбивки, ибо ну а зачем, думаю под нее сами сможете переделать, если нет, пишите, отпишу второй вариант.

class testS {
public static void main(String[] args) {
    String str = "шар";
    str=str.toUpperCase();
    String strNew = "";
    for(int i=0;i<str.length();i++) {
        for(int j=0;j<i+1;j++) {
            strNew += str.charAt(i);
        }
        strNew+=" ";
    }
    System.out.println(strNew);
}
}
Answer 2

Спасибо всем за помощь! Взял за основу код, предложенный ранее, немного изменил его и добавил разбивку на символы Теперь код выглядит так:

package s01;
    public class Task01 {
        public static void main(String[] args) {
            String str = "шар";
            char[] array = new char[str.length()];
            for (int i = 0; i < str.length(); i++) {
                for (int j = 0; j < i + 1; j++) {
                    array[j] = str.charAt(i);
                }
                System.out.println(array);
            }
        }
    }
Answer 3

Есть хороший метод fill() из класса Arrays. Он работает намного быстрее, если вдруг вы вместо слова из 3 букв захотите задать строку в 100500 символов.

String str = "шар";
for (int i = 0; i < str.length(); i++) {
    char[] array = new char[i + 1];
    Arrays.fill(array, str.charAt(i));
    System.out.println(array);
}
READ ALSO
Как создать генерацию слов в приложении под Android?

Как создать генерацию слов в приложении под Android?

Хочу создать игру для Android что-то типа Крокодила или Шляпы, где будут генерироваться словаПодскажите, как можно организовать хранение этих...

157
Получения сущности по вторичному ключу. Hibernate

Получения сущности по вторичному ключу. Hibernate

Есть две связанные таблицы, Runner и Registration

120