使用java输出菱形的星型

程序分析如下:

1、先假设要输出4个星(或者其它自己觉得方便计算的数,以下程序中,n为想输出星星的个数)

2、将输出的菱形分为两部分输出

   <1>上半部分:

  (1)假设i为行数,分析如下:

   i = 1,  3空格,  1*

   i = 2,  2空格,  2*

   i = 3,  1空格,  3*

   i = 4, 0空格,  4*

  (2)i是控制行数的,所以第一个总循环的控制条件为(int i = 1;i <= n;i++)

  (3)总循环里的第一个循环,控制输出空格,由分析可知:控制条件(int j = 1;j <= n - i;j++)

  (4)总循环里的第二个循环,控制星型输出,由分析可知:控制条件(int k = 1;k <= i;k++)


   <2>下半部分:

  (1)到这里时,要将i的值设为n - 1(这是因为第n行已经由上半部分输出了,所以在下半部分只需要输出n - 1行就行),分析如下:

   i = n - 1,  1空格,  3*

   i = n - 2,  2空格,  2*

   i = n - 3, 3空格,  1*

  (2)这里一样i也是控制行数的,但这里使用i--输出,所以第二个总循环的控制条件为(int i = n - 1;i >= 1;i--)

  (3)总循环的第一个循环,也是控制输出空格,由分析可知:控制条件(int j = 1;j <= n - i;j++)

  (4)总循环的第二个循环,也是控制输出星型,由分析可知:控制条件(int k = n;k >= 1;k--)

 3 import java.io.*;

 4 
 5  public   class  OutputStar 
 6  {
 7           public   void  Star( int  n)
 8          {
 9                   //输出上半部分星型
10                   for ( int  i =  1 ; i <= n; i++)
11                  {
12                           for ( int  j =  1 ; j <= n - i; j++)
13                                  System.out.print( " " );
14                           for ( int  k =  1 ; k <= i; k++)
15                                  System.out.print( " *" );
16                          System.out.print( " \n " );
17                  }
18                   //输出下半部分星型
19                   for ( int  i = n -  1 ; i >=  1 ; i--)
20                  {
21                           for ( int  j =  1 ; j <= n - i; j++)
22                                  System.out.print( " " );
23                           for ( int  k = i; k >=  1 ; k--)
24                                  System.out.print( " *" );
25                          System.out.print( " \n " );
26                  }
27          }
28          
29           public   static   void  main(String[] args)
30          {
31                  OutputStar star =  new  OutputStar();
32                  String s =  "" ;
33                  
34                   try
35                  {
36                          BufferedReader in =  new  BufferedReader( new  InputStreamReader(System.in));
37                          s = in.readLine();
38                  }
39                   catch (IOException e)
40                  {}
41                  
42                   int  n = Integer.parseInt(s);
43                  star.Star(n);
44          }

45 }

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值