打印菱形Java兑现

打印菱形Java实现
    
     *    
    * *   
   * * *  
  * * * * 
* * * * *
* * * * * *
* * * * *
  * * * * 
   * * *  
    * *   
     * 
/**
 * Created with IntelliJ IDEA.
 * User: TOSHIBA
 * Date: 12-8-31
 * Time: 下午5:10
 * To change this template use File | Settings | File Templates.
 */
public class ForTest2 {
    public static void  main(String[] args){
        int starNumberPerSide =6;

        int midPx = starNumberPerSide;   //中间数==边*数

//        if(starNumberPerSide%2 != 0) ; //奇数,中间点为*
//        if(starNumberPerSide%2 == 0) ; //偶数,中间点为" "

//        int i = 0;
//
//        int jMin = midPx - (i - 1);    //  上半边, 输出*
//        int jMax = midPx + (i - 1);    //  上半边,  输出*
//
//        int kMin = midPx - (i - 2);    //  下半边, 输出*
//        int kMax = midPx + (i + 2);    //  下半边, 输出*

        for(int i = 1; i <= starNumberPerSide; i++){
            int jMin = midPx - (i - 1);    //  上半边, 输出*
            int jMax = midPx + (i - 1);    //  上半边,  输出*
            for (int j = 1; j <= starNumberPerSide*2-1; j++){
                  if(j>=jMin && j <= jMax)
                  {
                      if(i%2 != 0) {
                        if(Math.abs(midPx - j)%2 == 0)
                         System.out.print("*");
                        else
                         System.out.print(" ");
                      } else {
                          if(Math.abs(midPx -j)%2 == 0)
                              System.out.print(" ");
                          else
                              System.out.print("*");
                       }
                  }
                  else
                      System.out.print(" ");
            }
            System.out.println("");
        }

        for(int m = starNumberPerSide-1; m >= 1; m--){
            int kMin = midPx - (m - 1);    //  下半边, 输出*
            int kMax = midPx + (m - 1);    //  下半边, 输出*
            for (int n = 1; n <= starNumberPerSide*2-1; n++){
                if(n>=kMin && n <= kMax){
                    if(m%2 != 0) {
                        if(Math.abs(midPx - n)%2 == 0)
                            System.out.print("*");
                        else
                            System.out.print(" ");
                    } else {
                        if(Math.abs(midPx - n)%2 == 0)
                            System.out.print(" ");
                        else
                            System.out.print("*");
                    }
                }
                else
                    System.out.print(" ");
            }
            System.out.println("");
        }



    }
}