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

第6周-打印金字塔形的数字

2015-10-06 22:16 513 查看
问题及代码:
/*
*Copyright (c)2015,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:Number.java
*作    者:单昕昕
*完成日期:2015年10月6日
*版 本 号:v1.0
*
*问题描述:打印金字塔形的数字。
*程序输入:无。
*程序输出:金字塔形的数字。
*/
import java.util.Scanner;
public class Test
{
public static void main(String[] args)
{
int i=0,n=8,m=0,s;
while(n>0)
{
s=1;
for(i=4*(n-1); i>0; --i)
System.out.print(" ");
System.out.print("   ");
for(i=0; i<=m; ++i)
{
s*=2;
System.out.print(s/2+" ");
if(s<10)
System.out.print("  ");
else if(s>9&&s/2!=64)
System.out.print(" ");
else if(s/2>99)
System.out.print("  ");
}
for(i=m; i>=m; --i)
{
s/=2;
if(m==3||m==4||m==6)
System.out.print(" ");
if(s/2!=0)
{ if(s/2<10)
System.out.print(s/2+"  ");
else if(s/2>9)
{
System.out.print(s/2+" ");
if(s/4<9)
System.out.print(" ");
}
else
System.out.print(s/2);
System.out.print(" ");}
}
for(i=m-1; i>0; --i)
{
s/=2;
if(s/2<10)
System.out.print(s/2+"  ");
else if(s/2>9)
{
System.out.print(s/2+" ");
if(s/4<9)
System.out.print(" ");
}
else
System.out.print(s/2);
System.out.print(" ");
}
System.out.println();
--n;
++m;
}
}
}


运行结果:



知识点总结:

for循环。

学习心得:

写了快一个多小时。。不是因为不会写。。是格式太难控制。。真的要哭了。。空格要分好多情况讨论。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java