The logic is simple, first try creating the last line using reverseof StringBuilder. Then print each line from the first to the last line.
The case last lineis simple.
first last line - 1 , , 0, 1, 2..., .
public void printTriangle(String input) {
String tmp = input.substring(1);
StringBuilder builder = new StringBuilder(tmp);
builder = builder.reverse().append(input);
String line = builder.toString();
for(int i = 0; i < input.length(); i++){
for(int j = 0; j < line.length(); j++){
if(i + 1 == input.length() || Math.abs(j - line.length()/2) == i){
System.out.print(line.charAt(j));
}else{
System.out.print(" ");
}
}
System.out.println();
}
}
COMPUTER
C
O O
M M
P P
U U
T T
E E
RETUPMOCOMPUTER
STACKOVERFLOW
S
T T
A A
C C
K K
O O
V V
E E
R R
F F
L L
O O
WOLFREVOKCATSTACKOVERFLOW