*
    ***
   *****
  *******
 *********
  *******
   *****
    ***
     *循环打印.. 或者是给个奇数参数打印.

解决方案 »

  1.   

    比如给定参数n,这个肯定是分两步的 0到(n/2)循环加上(n/2)到n的循环
    单独每部都是很简单的循环
      

  2.   

    public class PrintStar {
    public static void main(String[] args)
    {
    int num=11;
    for(int i=0;i<num/2;i++)//上半部分的行数为num/2
    {
    for(int j=(num/2-i);j>0;j--)//每行先要输出的空格数为(num/2-i)是递减的
    {
    System.out.print(" ");
    }
    for(int k=0;k<(2*i+1);k++)//每行要输出的*为(2*i+1)i是递增的
    {
    System.out.print("*");
    }

    System.out.println();
    }
    for(int i=0;i<num;i++)//中间的那一行
    {
    System.out.print("*");
    }
    System.out.println();
    for(int i=(num/2-1);i>=0;i--)//下半部分的行数也是(num/2)
    {
    for(int j=0;j<(num/2-i);j++)//每行先要输出的空格数为(num/2-i)是递增的
    {
    System.out.print(" ");
    }
    for(int k=0;k<(2*i+1);k++)//每行要输出的*为(2*i+1)i是递减的
    {
    System.out.print("*");
    }
    System.out.println();
    }
    }}