2 回答

TA貢獻1853條經驗 獲得超6個贊
你快到了..
當“列”包含您已打印的消息時,您不需要打印任何內容。
IE?!癏ello”是從索引 3 的列開始的 5 個字符。這意味著,索引 3-7 已經包含“Hello”,因此,您不應在該列之間打印任何字符。

TA貢獻1909條經驗 獲得超7個贊
您必須將消息的長度與 j 相加并減去 1,例如,單詞“hello”占用 5 個位置。由于 j 將在循環中為單詞添加 1,因此當它到達第二個 else if 條件時,您只需將 j 設置為 j + 消息長度 -1。請參閱下文。
for(int i = 0; i <= (n/2); i++) {
for (int j = 0; j <= n; j++) {
if (i == 0 || i == n) {
System.out.print(c);
}
else if (j == 0 || j == n) {
System.out.print(c);
}
else if (j == n/2 && i == ((n/2)/2)+1) {
System.out.print(message);
j = j + message.length() - 1;
}
else {
System.out.print(" ");
}
}
System.out.println();
}
for(int i = 0; i <= n; i++){
System.out.print(c);
}
添加回答
舉報