Java控制台超级菱形打印方法

源码清单:

/**
 * SupperRhombus.java
 * Java控制台超级菱形打印方法
 * 
@author 邓超(CodingMouse)
 * 
@version 0.1 2008-5-6
 * 开发/测试环境:jdk1.6 + eclipse SDK 3.3.2
 
*/


// 导入Scanner类和PrintStream类
import  java.util.Scanner;
import  java.io.PrintStream;

public   class  SupperRhombus  {
 
 
public static void main(String[] args) {

  Scanner input 
= new Scanner(System.in);
  
  
//循环标识
  boolean con = true;
  
//菱形的行数
  int line;
  
  
do {
   con 
= false;
   System.out.print(
"请输入要打印的菱形层数[不小于3的奇(整)数]:");
   
//获得控制台用户输入的菱形行数
   line = input.nextInt();
   
   
if (line % 2 == 0 || line < 3{
    System.out.println(
"只能输入不小于3的奇(整)数!请重试!");
    con 
= true;
   }

  }
 while (con);

 
  
//控制台输出提示
  System.out.println(line + "层菱形图案如下: ");
  
  
//因为菱形的行数不能是偶数,要转为奇数 
  line = (line & 1== 0 ? line + 1 : line; 
 
  PrintStream out 
= System.out; 

  
for   (int i = 0 - line / 2 ; i <= line / 2 ; i++)   
   
for   (int j = 0 - line / 2 ; j <= line / 2 ; j++)   
    
//把 == 改成 <= 或 >= ,还可产生其产的图形 
    
//out.print(((Math.abs(i) + Math.abs(j)) == line / 2) ? "* " : "  ");   //空心菱形
    
//out.print(((Math.abs(i) + Math.abs(j)) <= line / 2) ? "* " : "  ");   //实心菱形
    out.print(((Math.abs(i) + Math.abs(j)) >= line / 2? "" : "  ");   //内嵌菱形
   }
 
   out.println(); 
  }

 }

}

执行效果:

请输入要打印的菱形层数[不小于3的奇(整)数]:11
11层菱形图案如下:
* * * * * * * * * * * 
* * * * *   * * * * *
* * * *       * * * *
* * *           * * *
* *               * *
*                   *
* *               * *
* * *           * * *
* * * *       * * * *
* * * * *   * * * * *
* * * * * * * * * * *
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值