菱形星星

题目描述:

1、 菱形星星:接收控制台输入一个正奇整数,打印一个菱形[如输入数字9打印]

   * 1

  *** 3

 ***** 5

******** 7

 ***** 5

  *** 3

   * 1

题目注意空格,同时注意菱形每行的个数,我是将这分成上下两个部分,上层递增,下层递减。

import java.math.BigDecimal;
import java.util.Scanner;

public class Demo {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
     System.out.println("输入一个奇数:");
        int n = sc.nextInt();
        int i=1;
        int max = n - 2; // 最大的一行*的个数
        for(;i<n;i=i+2)  //用来控制最外层循环 
        {
            int kong = (max-i)/2; //设置空行
            for(int j=0;j<kong;j++)
                System.out.print(" "); //空格个数循环

            //打印*
            for(int k=0;k<i;k++)
                System.out.print("*");
            System.out.println();
        
            }
                
                //打印下半部分,此时i为最高的
        for(int j=i-2;j>0;j=j-2) //设置循环打印次数
        {
            int kong = (max-j)/2; //设置空行
            for(int s=0;s<=kong;s++)
            {
                System.out.print(" "); //空格个数循环
              
               
            } 
            for(int k=j-2;k>0;k--)
                {
                System.out.print("*");
                }
                
                
               System.out.println();
            
        }
           
   }
}

 

posted @ 2017-10-29 23:04  无语的风  阅读(554)  评论(0编辑  收藏  举报