本帖最后由 李春丽 于 2014-9-15 18:34 编辑
- class Demo
- {
- public static void main(String[] args)
- {
- printLing(7);//最宽处几个 * ,单数。
- }
- public static void printLing(int kuan)
- {
- int half = kuan/2;//菱形顶点。
- int zong = 0;//每行要打印的空格和*的总数。
- //外层行循环,行
- for(int i=0;i<kuan;i++)
- {
- //内层循环,每行打印内容
- if(kuan/2>i)//临界点
- {
- zong = half+(i*2+1);
- hang(zong,half);
- half--;//菱形左侧空格数 自减。
- }
- else //菱形上半部分打印完
- {
- zong = kuan-half;
- hang(zong,half);
- half++;
- }
- }
- }
- //每行的打印内容。
- private static void hang(int zong,int half)
- {
- for(int j=0;j<zong;j++)
- {
- if(j<half)//菱形左半侧 空格,每行打印数。
- {
- sop(" ");
- }
- else//每行 * 打印数。
- {
- sop("*");
- }
- }
- sop('\n');
- }
- public static void sop(Object obj)
- {
- System.out.print(obj);
- }
- }
复制代码
结果:
感觉我做的还不是超复杂的那种,看看吧,总之是种解题思路。
|