分析代码
首先上半部分:循环i 从1到n,再循环j 从1到n+i-1
比如i=1,n=5,这是j<=5,然后如果j等于5或者等于5,输出*
接下来i=2,这时j<=6,如果j等于6或等于4,输*
i=3,j<=7,j=7或3输出
i=4,j=8或2
i=5,j=9或1
主要要找规律嘛,上半部分输出*的地方,与i的关系
第一行是以五个位置,第二行是四六的位置,第三行是三七,第四行二八,第五行九一
第六行九一,第七行二八,第八行三七,第九行四六,第十行五
所以上半部分i,n,j的关系:
i=1,j=1,j<=5+1-1;j==5||j==5
i=2,j=1,j<=5+2-1;j==4||j==6
......
以此类推找规律
import java.math.*;
import java.util.Scanner;
public class demo1 {
public static void main(String args[]) {
Scanner input = new Scanner(System.in);
int n = input.nextInt();
int i,j;
for(i=1;i<=n;i++)
{
for(j=1;j<=n+i-1;j++)
{
if(j==n+i-1||j==n+1-i)
System.out.print("*");
else
System.out.print(" ");
}
System.out.println();
}
for(i=1;i<n;i++) {
for (j = 1; j <= 2 * n - i - 1; j++) {
if (j == 2 * n - i - 1 || j == i + 1)
System.out.print("*");
else
System.out.print(" ");
}
System.out.println();
}
}
}