我应该完成方法
public static void printStairs(int numMen) {
}
哪个打印
o ******
/|\ * *
/ \ * *
o ****** *
/|\ * *
/ \ * *
o ****** *
/|\ * *
/ \ * *
*********************
我有
public static void printStairs(int numMen) {
for (int i = 0; i < numMen; i++) {
String space = "";
String space2="";
for (int j = numMen - i; j > 1; j--) {
space += " ";
}
for (int j = 2; j <=numMen-i; j++) {
space2 += " ";
}
System.out.println(space + " o ******"+space2+"*");
System.out.println(space + " /|\\ * "+space2+"*");
System.out.println(space + " / \\ * "+space2+"*");
}
for(int i=0; i<=5*numMen+6; i++){
System.out.print("*");
}
}
这使
o ****** *
/|\ * *
/ \ * *
o ****** *
/|\ * *
/ \ * *
o *******
/|\ * *
/ \ * *
***********
而不是我想要的图像。
我不明白为什么这行不通,因为我只是颠倒了楼梯左侧空间的代码,并将其连接到楼梯右侧。
有谁知道如何将垂直线合并到代码中并创建想要的图像?
最佳答案
尝试这个:
public static void printMan(int numMen) {
for (int i = 0; i < numMen; i++) {
String space ="" ,space2 ="";
for(int j = numMen-i; j>1; j--) {
space += " ";
}
for(int k = 0; k<i ; k++) {
space2 += " ";
}
System.out.println(space +" o *****" + space2 + "*");
System.out.println(space + "/|\\ * "+ space2 + "*");
System.out.println(space + "/ \\ * "+ space2 + "*");
}
for (int i = 0; i < (numMen *10)-((numMen-1) *3); i++) {
System.out.print("*");
}
}
}