ピラミッド型の文字の配列を印刷する必要があります。文字からピラミッドパターンを印刷する
char[] chars = {'F', 'E', 'L', 'I', 'Z', ' ', 'A', 'N','I', 'V', 'E', 'R', 'S', 'A', 'R', 'I', 'O'};
int length = chars.length;
for (int i = 1; i < length; i += 2) {
for (int j = 0; j < 9 - i/2; j++)
System.out.print(" ");
for (int j = 0; j < i; j++)
System.out.print(chars[j]);
System.out.print("\n");
}
for (int i = length; i > 0; i -= 2) {
for (int j = 0; j < 9 - i/2; j++)
System.out.print(" ");
for (int j = 0; j < i; j++)
System.out.print(chars[j]);
System.out.print("\n");
、それは、この印刷します:私はこれまで持っていることはこれです
F
FEL
FELIZ
FELIZ A
FELIZ ANI
FELIZ ANIVE
FELIZ ANIVERS
FELIZ ANIVERSAR
FELIZ ANIVERSARIO
FELIZ ANIVERSAR
FELIZ ANIVERS
FELIZ ANIVE
FELIZ ANI
FELIZ A
FELIZ
FEL
F
しかし、私はそれは、配列の中央に文字から印刷を開始する必要があります。最終結果は次のようになります。
I
NIV
ANIVE
ANIVER
Z ANIVERS
IZ ANIVERSA
LIZ ANIVERSAR
ELIZ ANIVERSARI
FELIZ ANIVERSARIO
ELIZ ANIVERSARI
LIZ ANIVERSAR
IZ ANIVERSA
Z ANIVERS
ANIVER
ANIVE
NIV
I
ご協力いただければ幸いです。
はたぶんループ各行2D配列を使用して別のアプローチであるが、それは中間セグメントにない場合はスペースを印刷します表示するには? – qxz
中間インデックスは、最初は 'midStart'と' midEnd'に同じ値が格納されています。その後、 'midStart'をインクリメントし、' midEnd'を減らします。 – raymelfrancisco