Как повторно добавлять символы в строку Java

#java

#java

Вопрос:

В качестве домашнего задания я получил вопрос, который требует, чтобы я печатал символы строки в виде лестницы.

 //so if String str = "Compute", I should end up with
C
 o
  m
   p
    u
     t
      e
  

Пока это моя работа.

 public static void main(String[] args) {
    int x = 0;

    String str = "Compile";

    for (int z=0;z<str.length();z  ) {
        char ans = str.charAt(x);
        String inn=" " ans
        System.out.println(inn);
        x  ;
    }
}
  

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

Комментарии:

1. Я думаю, что ваш вопрос должен быть немного более конкретным, простое изложение проблемы и фрагмент кода с надписью «я застрял» — это не тот способ, которым вы, скорее всего, получите ответы здесь. Ваш фрагмент кода — хорошая попытка, у вас почти получилось все правильно (хорошая работа!). Гораздо желательнее указать, на чем конкретно вы застряли или чего конкретно ваш код не может сделать.

Ответ №1:

Добавьте цикл для печати z пробелов перед каждым символом в z . Что-то вроде,

 String str = "Compile";
for (int z = 0; z < str.length(); z  ) {
    char ans = str.charAt(z);
    for (int x = 0; x < z; x  ) {
        System.out.print(" ");
    }
    System.out.println(ans);
}
  

Ответ №2:

Попробуйте это.

 String str = "Compile";
String spaces = "";
for (int z = 0; z < str.length(); z  ) {
    char ans = str.charAt(x);
    System.out.println(spaces   str.charAt(z));
    spaces  = " ";
}
  

Ответ №3:

Вам нужно напечатать столько пробелов, сколько в вашем текущем количестве букв, теперь это должно сработать:

 public static void main(String[] args) {
    int x = 0;

    String str = "Compile";

    for (int z = 0; z < str.length(); z  ) {
        char ans = str.charAt(x);
        for (int i = 0; i < x;   i)
            System.out.print(' ');
        System.out.println(ans);
        x  ;
    }
}
  

Комментарии:

1. for (int i = 0; i < x; x) неправильно. Бесконечный цикл, когда x больше 0 (потому что i не меняется).

2. Чем x отличается от z ?