Вы почти получили правильный код.
Проблема заключается в методе, который вы вызываете для печати символов.
System.out.println(String)
печатает строку, а затем перенос строки. Это то, что вы хотите сделать в конце каждой строки. Но не между символами.
Чтобы напечатать строку без разрыва строки в конце, используйте System.out.print(String)
.
Проверьте java официальное руководство или javado c для более подробной информации.
public static void triangleTwo(int r, String let) {
for (int a=r; a>=1; a--) {
for (int b=1; b<=a; b++) {
System.out.print(let); // no line break between char of the same row
}
System.out.println(); // line break for the end of the row
}
System.out.println(); // another line break, this is optional
}
Примечание : в следующий раз, когда вы опубликуете вопрос на SO, опубликуйте код, текущий результат, и ожидаемый вывод в виде текста. Текст более стойкий, чем изображения, и его может легко скопировать / вставить любой, не теряя времени на переписывание всего кода.