示例输入字符串:
bluej
输出:
b***b *l*l* **u** *e*e* j***j
(其中“*”表示空格)
到目前为止我已经做了这么多:
int n = s.length() - 1;
int i, j;
for (i = 0; i <= n; i++) {
for (j = 0; j <= (n + 1); j++) {
if (i == j || i == n - (j - 1))
System.out.print(s.charAt(i));
else {
System.out.print("*");
}
}
System.out.println();
}
但输出是:
b****b *l**l* **uu** **ee** *j**j*
最佳答案
只需替换 i == n-(j-1)
与 i == n - j
第二个 for 循环 for (j = 0; j <= n+1; j++)
至for (j = 0; j <= n; j++)
:
int n = s.length() - 1;
int i, j;
for (i = 0; i <= n; i++) {
for (j = 0; j <= n; j++) {
if (i == j || i == n - j)
System.out.print(s.charAt(i));
else {
System.out.print("*");
}
}
System.out.println();
}
关于java - 通过接受字符串使用 for 循环打印模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31892831/