目前正在处理一些额外的问题集,似乎一直困在这个问题上。我需要输出以下内容:
16
20
34
-----
40
70
-----
40
40
我已经完成了交叉,但我遇到了中间线的问题,并希望有人可以帮助我搞清楚。到目前为止我的代码(输入设置为5):
* *
* *
* * * * *
* *
* *
当前输出:
public static void drawPlusVersion3(int input){
if (input % 2 != 0) {
for(int c = 0; c < input; c++) {
for(int r = 0; r < input; r++) {
if((c == input / 2) || (r == input / 2))
System.out.print("*");
if ( c == r){
System.out.print("*");
}
else
System.out.print(" ");
System.out.print(" ");
}
System.out.println();
}
}
}
提前致谢!
答案 0 :(得分:2)
您可以尝试:
public static void drawPlusVersion3(int input){
if (input % 2 != 0) {
for(int c = 0; c < input; c++) {
for(int r = input - 1; r >= 0; r--) {
if((c == input / 2) || (r == input / 2) || c == r)
System.out.print("*");
else
System.out.print(" ");
System.out.print(" ");
}
System.out.println();
}
}
}
答案 1 :(得分:1)
这个怎么样:
for (int i = 0; i < input; i++) {
for (int j = 0; j < input; j++) {
if (j == input / 2 || i == input / 2 || i + j == input - 1) {
System.out.print("* ");
} else {
System.out.print(" ");
}
}
System.out.println();
}