JAVA---用”*“打印实心菱形(自学)

打印菱形可谓是最经典的问题了:
这类问题的主要思想应该是确定行数与每行的空格星号之间的数量关系。

一.注意的点如下:
1.首先可以确定若想打印菱形,那么必须知道行数,而由菱形的特性可以知道行数肯定是奇数。
2.把菱形分成上下两个部分来看。
3.确定行数与空格的数量关系,行数与星号的数量关系。

二.过程如下:
1.先确定上菱形的数量关系:
*总行数:*m
*行数的一半:*t(向下取值)
*行数的一半:*n(向上取值)
行数:总行数的一半加一(包括中间行,并把其设为i)
每行的空格与当前行的关系:空格数设为 j,则j=n-i
星号与当前行数的关系:设星号数为k,则k=2i-1
2.下半个菱形的数量关系:
基本上同上半菱形,但是注意行数。

三.自我感觉:只要画一幅图,然后用表格列出来各项,找到关系就很好写了。

代码如下:

    public static void main(String[] args) {
        // TODO 自动生成的方法存根
   int m=15;
   //确定打印菱形的行数,可以自行设置
   int n=m/2+1;
   int t=m/2;
   for(int i=1;i<=n;i++)//打印菱形的上半部分
   {
       for(int j=(n-i);j>0;j--)
           System.out.print(" ");
         //打印空格数  
       for(int k=2*i-1;k>0;k--)
           System.out.print("*");
          //打印*号
       System.out.println();
       //一行打印结束,换行
   }
   for(int i=t;i>0;i--)//打印菱形的下半部分
   {
       for (int b=(n-i);b>0;b--)
           System.out.print(" ");
           //打印空格数 
       for (int a=(2*i-1);a>0;a--)
           System.out.print("*");
           //打印*号
       System.out.println();
       //一行打印结束,换行
   }
    }

以上代码的结果如下:
结果如下:

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值