您的位置:首页 > 其它

打印图形

2012-07-24 17:40 190 查看
package com.huawei.mun;

import java.util.Scanner;

public class PrintPlot {

 public static void main(String[] args)

 {

  Scanner input = new Scanner(System.in);

  String str = input.next();

  while(str.matches("^[0-9]*$"))

  {

   plot(Integer.parseInt(str));

   str= input.next();

  }

  System.out.println("结束!");

 }

 public static void plot(int n)

 {

  for(int i=0;i<n;i++)

  {

   //每行" "的个数

   int m1 = 0;

   //每行"*"的个数

   int m2 = 0;

   if (i < n / 2)

   { 

    //前半部分

    m1 = i; 

    m2 = n - 2 * i;

   }

   else

   {

    //后半部分

    

    //总行数为奇数

    m1 = (n - 1) / 2 - (i - (n - 1) / 2);

    m2 = 1 + 2 * (i - (n - 1) / 2);

    //总行数为偶数

    if(n%2==0)

    {

     m1 = n / 2 - 1 - (i - n / 2);

     m2 = 2 + 2 * (i - n / 2);

    }

   }

   for (int k = 0; k < m1; k++)

   {

    System.out.print(" ");

   }

   for (int j = 0; j < m2; j++)

   {

    System.out.print("*");

   }

   System.out.println();

  }

 }

}

控制台:

5

*****

 ***

  *

 ***

*****

6

******

 ****

  **

  **

 ****

******
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息