2 回答
TA贡献1853条经验 获得超6个赞
你快到了..
当“列”包含您已打印的消息时,您不需要打印任何内容。
IE。“Hello”是从索引 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);
}
添加回答
举报