2 回答
TA贡献1862条经验 获得超6个赞
static void pattern(String n) {
int len = n.length();
for (int i = 0; i < len; i++) {
for (int j = 0; j < len; j++) {
if((i<j)&&(i>len-j-1) || (i>j)&&(i<len-j-1)) {
System.out.printf("- ");
} else {
System.out.printf("%c ", n.charAt(i));
}
}
System.out.printf("%n");
}
第一个条件
(i>j)&&(i<len-j-1)
选择以下部分
x x x x x x x
- x x x x x x
- - x x x x x
- - - x x x x
- - x x x x x
- x x x x x x
x x x x x x x
和
(i>j)&&(i<len-j-1)
选择以下部分
x x x x x x x
x x x x x x -
x x x x x - -
x x x x - - -
x x x x x - -
x x x x x x -
x x x x x x x
TA贡献1811条经验 获得超4个赞
您可以使用双循环来打印二维数组。只需-根据 raw 的索引计算 raw 开头和结尾的数量。
public static void pattern(String str) {
for (int i = 0, last = str.length() - 1; i <= last; i++) {
for (int j = 0, dash = last; j <= last; j++, dash--)
System.out.print(i < j && i > dash || i > j && i < dash ? '-' : str.charAt(i));
System.out.println();
}
}
添加回答
举报