Java打印菱形


package cn.com.bochy;
import java.util.Scanner;
public class Diamond {
  public static void main(String[] args) {
   @SuppressWarnings("resource")
 Scanner scanner=new Scanner(System.in);
  System.out.println("请输入菱形的高度:");
  int height=scanner.nextInt();
  int top=(height+1)/2;//菱形上半部分的高度
  int bottom=(height-1)/2;//菱形下半部分的高度
   /**
    * 打印菱形上半部分
    */
 for(int i=1;i<=top;i++){
  //打印菱形上半部分的空格,空格的个数等于上半部分的高度减去所在的行
  for(int j=top-i;j>0;j--){
   System.out.print(" ");
  }
  //打印菱形上半部分的*,*的个数等于所在的行的2倍减1
  for(int m=1;m<=2*i-1;m++){
   System.out.print("*");
  }
  //换行
  System.out.println();
 }
 
  /**
    * 打印菱形下半部分
    */
 for(int k=1;k<=bottom;k++){
  //打印菱形下半部分的空格,空格的个数等于下半部分所在的行,第一行一个空格,第二行2个空格......
  for(int m=1;m<=k;m++){
   System.out.print(" ");
  }
  /* 打印菱形下半部分的*
   *  以菱形的总高度为9为例,下半部分高度为4,第一行的*的个数为7,第二行的*的个数为5,
   * 第三行的*的个数为3,第四行的*的个数为1,找到规律为(bottom-i)*2+1 
   * */
  for(int n=1;n<=(bottom-k)*2+1;n++){
   System.out.print("*");
  }
  //换行
  System.out.println();
 }
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值