在控制台中输出菱形,我们需要用到循环,我们通常用到的是双层循环,即:外层循环控制行数,内层循环分两部分,一部分控制“*”的输出,一部分控制“(空格) ”的输出,这种情况是最常见的,代码如下:
public class Rhombus01{
/*
*
***
*****
*******
*****
***
*
行数 空格数 星数
n space star
1 3 1
2 2 3
3 1 5
4 0 7
space = 4 - n;
star = 2 * n - 1;
1 1 5
2 2 3
3 3 1
space = n;
star = 7 - 2 * n
*/
public static void main(String[] args) {
int n = 4;
//控制行数 上半部分
for(int i = 1; i <= n; i++){
//控制空格数
for(int x = 1; x <= n - i; x++){
System.out.print(" ");
}
//控制星数
for(int y = 1; y <= 2 * i - 1; y++){
System.out.print("*");
}
System.out.println();
}
//控制行数 下半部分
n = 3;
for(int i = 1; i <= n; i++){
//控制空格
for(int x = 1; x <= i; x++){
System.out.print(" ");
}
//控制星数
for(int y = 1; y <= 2 * n - (2 * i - 1); y++){
System.out.print("*");
}
System.out.println();
}
}
}
这个是写死的,只能输出7行的菱形,分上半部分与下半部分两部分输出。现在我们对这个代码进行改进,让他可以输出任意奇数行的菱形。代码如下: