首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

小弟我的第一个Java程序

2013-03-28 
我的第一个Java程序[aligncenter][/align]菱形图形的输出[b][/b]——我的第一个Java程序上蓝杰的课有五次了

我的第一个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^)/~。

热点排行