Печать букв до тех пор, пока все слово окончательно не отобразится в форме треугольника Java - PullRequest
0 голосов
/ 21 мая 2018

Вывод должен выглядеть следующим образом

Вот мой код:

 public static String repeat(String s, int n) {
    String res = "";

    for (int i = 0; i < n; i++) {
        res += s;

    }
    return res;
}

public static void main(String[] args) {

    String word = "mathematics";
    int n = word.length()/2;
    for (int i = 0; i <= n; i++) {
        System.out.print(repeat(" ", n- i));
        System.out.println(word.substring(n -1, n + i + 1)); //here is the problem I think

    }

}

Или вы знаете какое-нибудь лучшее решение?Спасибо

1 Ответ

0 голосов
/ 21 мая 2018

Начальный индекс вашей подстроки n-1, который является постоянным, но он должен измениться, он должен быть n-i, чтобы уменьшиться до начала слова

for (int i = 0; i <= n; i++) {
    System.out.print(repeat(" ", n- i));
    System.out.println(word.substring(n -i, n + i + 1)); 
}

     m
    ema
   hemat
  themati
 athematic
mathematics
...