结果:
代码:
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n= scanner.nextInt();
int num = 1;//菱形行数
int sum = 0;//本次*数
int sum3 = 0;//上次*数
while (sum<n){
int sum2 = 0;
for(int i=1 ; i<num ;){
sum2+=2*i;
i+=2;
}
sum3= sum;
sum = sum2+num;//菱形*数
// System.out.println("菱形*数:"+sum);
// System.out.println("菱形*行数:"+num);
num=num+2;
}
// System.out.println(sum3);
num = num-4;
System.out.println("N="+n+"打印菱形:");
for(int i=1;i<=(num+1)/2;i++)//控制行数
{
for(int k=(num+1)/2-1;k>=i;k--)//打印空格
{
System.out.print(" ");
}
for(int j=1;j<=2*i-1;j++)//打印*
{
System.out.print("*");
}
System.out.println();
}
//下半部分
for(int i=(num+1)/2-1;i>=1;i--) {
for(int k=i;k<=(num+1)/2-1;k++)
{
System.out.print(" ");
}
for(int j=1;j<=2*i-1;j++)
{
System.out.print("*");
}
System.out.println();
}
System.out.println("剩余*:"+(n-sum3));
}