您的位置:首页 > 编程语言 > Java开发

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

2008-05-07 01:34 627 查看
源码清单:




/** *//**


* 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层菱形图案如下:

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