我的第一个Java程序
[align=center][/align]菱形图形的输出[b][/b]
——我的第一个Java程序
上蓝杰的课有五次了吧,学了挺多的,但还是想自己做做总结,希望以后我的总结会更加有技术性,不求多但求精。前面已经有那么多的师兄师姐给我做了榜样,所以我想自己也能做到!钟础彬,你能行的!一定哦!首先学的是使用Java语言输出一个三角形,接着是菱形。
请看下面的三角形
* * ******* *******
*** *** ***** *****
***** ***** *** ***
******* ******* * *
(a) (b) (c) (d)
思路分析
观察这些图形,都是字符和空格的组合首先看(a)图
字符数是按j=2*i+1的形式变化的。而(b)图的变化规律则是k--;j+=2;
所以第一个的Java程序如下:
public class first{
//主函数
public static void main(String args[]){
String s=”*”;
//行数
int count=9;
for(int i=0;i<count;i++){
System.out.print(s);
}
//换一个新行
System.out.println();
//每一行少一个
count--;
}
}
观察(b)图,我们可以发现字符数是以等差数列的规律的变化的,而空格则是逐行减少的
所以在第一个程序的基础上,我们可以写出程序如下:
// 定义一个主方法使其输出一个等腰三角形
public class picture{
public static void main(String[] args){
int n=9;
//前3行.上半部分
int kong=9;
for(int i=0;i<n;i++)//控制行数{
for(int k=0;k<kong;k++)//打印空格
{
System.out.print(" ");
}
for(int j=0;j<2*i+1;j++)//打印*
{
System.out.print("*");
}
System.out.println();
}
}
}
下面观察一下菱形:
*
***
*****
*******
*****
***
*
而这个菱形的规律则是第四行之前的元素变化情况:字符数仍然是等差数列,空格数也一样,但第四行到第七行则层相反的规律变化。程序如下:
/**
* 定义一个主方法使其输出一个等腰三角形
* @author chubin
*
*/
public class picture{
public static void main(String[] args)//打出图形.菱形
{
int n=9;
//前3行.上半部分
int kong=9;
int num=1;
for(int i=1;i<=n;i++)//控制行数
{
for(int k=1;k<=kong;k++)//打印空格
{
System.out.print(" ");
}
for(int j=1;j<=num;j++)//打印*
{
System.out.print("*");
}
System.out.println();
if(i<n/2){
kong--;
num+=2;
}else if(i>=n/2){
kong++;
num-=2;
}
}
}
}
个人总结:
这类简单图形的输出,必须抓住其核心,分析相关数据的变化情况。比如这里的空格数和字符数的变化情况。还有就是个人对for循环的使用不太熟练,在闲暇时要多多敲敲这方面的程序代码,加深理解。这部分的内容就写这么多吧,不知道写的好不好,不好请多多谅解哈\(^o^)/~。