题目:
用for循环实现输出菱形,并用“ * ” 表示
思路: * 3 n/2
* * 2 4 n/2-1 n/2+1
* * 1 5 n/2-2 n/2+2
* *
* *
* *
*
* 1.前半部分: 1 ~ n/2 行
* 2.后半部分: n/2+1 ~ n 行
* 3.前半部分: 【第一行*在 n/2位置】
* 【第二行*在 n/2-1位置和n/2+1】
* 【第三行*在 n/2-2位置和n/2+2】
* ...
* 后面计数 count++;
* 4.前半部分:【第n/2+1行*在2和n-1的位置】
* 【第n/2+2行*在3和n-2的位置】
* 【第n/2+3行*在4和n-3的位置】
* ...
* 后半部分比前半部分少一行!
—————————————————————华丽分割线—————————————————————————
代码如下:
//前半部分
int n = 10;
int count1 = 0;
for(int j=1;j<=n/2;j++){
for(int i=1;i<=n;i++){
if(i==n/2-count1 || i==n/2+count1){
System.out.print("*");
}else{
System.out.print(" ");
}
}
System.out.println("");
count1++;
}
//后半部分
int count2 = n-2;
for(int j=n/2+1;j<n;j++){
for(int i=1;i<=n;i++){
if( i==n-count2 || i == count2){
System.out.print("*");
}else{
System.out.print(" ");
}
}
System.out.println("");
count2--;
}
输出结果如下:
*
* *
* *
* *
* *
* *
* *
* *
*