Java趣味编程100例汇编.pdf
第1章变幻多姿的图表
图表简洁直观,在各种场合得到广泛应用,给人以很强的视觉冲击,经常让人难以怀。我们的程序中如
果能够灵活地应用图表,一定能给我们的程序增色不少。本章将带你进入变换多姿的图表世界,体会图表编
程带来的乐趣。
1o1金字塔图案
1.问题描述
打印出金字塔图案,如图1.1所示.
2.问题分析
这个问题是一个很经典的循环应用的题目。我们都知道,打印输出的时候,都是从最左端输出,而这里,
第一个星号是在中间。这实际是因为星号之前有很多空格.当我们使用问号来表示空格,实际的榆出效果应
该是图1o2的形式.
★★★????★
???★★★
★★★★★
??★★★★★
★★★★★★★?★★★★★★★
★★★★★★★★★
★★★★★★★★★
图1o1金字塔图1。2金字塔的分析图
从图1.2分析,我们就可以发现这个题目的奥秘了。
(1)确定程序框架
从图1.2中,我们可以发现,一共需要打印5行,而每一行都是打印几个空格,然后再打印几个星号.这
样我们就可以写出程序框架了。程序框架代码如下:
pubIicclassCh1_1
(
pubIicstaticvoidmain(tring[]args)
(
**************
for(i=1;i=5;i++)//循环5次,打印5行
{
〃打印若干个空格
〃打印若干个星号
)
}
)
由于我们这里明确知道打印的行数,所以我们使用for循环来实现。下面我们就需要考虑如何打印每行
的星号。
(2)寻找空格和星号的规律
从图1.2中,我们可以发现:第1行的空格为4个,第2行是3个,第3行是2个,……,每行依次递减,
直至最后一行空格数为0:而星号数目是第1行是1个,第2行是3,第3行是5,……,合行依次递增2,
直至最后一行星号数为9.总结数据,我们可以得到表1。1所示的规律。
表1.1空格和星号的规律
行数空格数星号数
145-111^2-1
235-2