黑马程序员技术交流社区

标题: 总结For嵌套的阵列三角 [打印本页]

作者: c8984771    时间: 2015-12-27 14:53
标题: 总结For嵌套的阵列三角
/*
需求1:控制台打印正三角
思路:for嵌套循环
1.外循环控制行,内循环控制列
2.尖朝上时通过改变内循环的条件来控制
*/
class Triangle_1 //正三角
{
        public void trianglePrinter1()
        {
                for (int x = 0; x < 5 ; x++ )
                {
                        for (int y = 0; y <= x ; y++ )
                        {
                                //注意打印后不要换行
                                System.out.print("*");
                        }
                        //输出空的换行语句
                        System.out.println();
                }
                System.out.println("---------------------------------");
        }
}
/*
需求2:控制台打印倒三角
思路:for嵌套循环
1.外循环控制行,内循环控制列
2.尖朝下时可改变内循环初始化值
*/
class Triangle_2 //倒三角
{
        public void trianglePrinter2()
        {
                for (int x = 0; x < 5 ;x++ )
                {
                        for (int y = x ;y < 5 ;y++)
                        {
                                System.out.print("*");
                        }
                        System.out.println();
                }
                System.out.println("---------------------------------");
        }
}
/*
需求3:控制台打印等腰三角
    *
   * *
  * * *
* * * *
思路:
1.此图形实际上为两部分,左边是由空格打印出的倒三角,右边是尖朝上的等腰三角
2.使用for嵌套循环,先设计打印空格的内循环
3.再设计打印*加空格的内循环
*/
class Triangle_3 //等腰三角形
{
        public void trianglePrinter3()
        {
                for (int x = 0; x < 4 ;x++ )
                {
                        //空格组成的倒三角
                        for (int y=x; y < 3 ; y++ )
                        {
                                System.out.print(" ");
                        }
                        //控制等腰三角形的循环
                        for (int z = 0; z <= x ; z++)
                        {
                                System.out.print("* ");
                        }
                        System.out.println();
                }
                System.out.println("---------------------------------");
        }
}
/*
需求:打印阶梯数字
1
12
123
1234
12345
思路:二位的阵列可用for嵌套循环实现
步骤:
1.外循环控制5行,
2.内循环控制列,并且控制打印列数
3.尖朝上可通过限定内循环条件实现
*/
class Triangle_4 //阶梯数字
{
        public void trianglePrinter4()
        {
                for (int x = 1; x <=5 ; x++ )
                {
                        for (int y = 1; y <= x ; y++ )
                        {
                                System.out.print(y);
                        }
                        System.out.println();
                }
                System.out.println("---------------------------------");
        }
}
/*
需求:九九乘法表
思路:呈现的是九行,列数从1递增到9的一个表格,使用for嵌套循环实现
步骤:
1.外循环控制9行
2.每列的第一个乘数正好是所在列数,第二个因数正好是所在行数
*/
class Table
{
        public void tablePrinter()
        {
                for (int x = 1; x <=9 ; x++ )
                {
                        for (int y = 1; y <= x ; y++ )
                        {
                                System.out.print(y+"*"+x+"="+y*x+"\t");
                        }
                        System.out.println();
                }
        }
}
//将需求全部打印
class AllTriangle
{
        public static void main(String[] args)
        {
                Triangle_1 t1 = new Triangle_1();
                Triangle_2 t2 = new Triangle_2();
                Triangle_3 t3 = new Triangle_3();
                Triangle_4 t4 = new Triangle_4();
                Table t = new Table();
                t1.trianglePrinter1();
                t2.trianglePrinter2();
                t3.trianglePrinter3();
                t4.trianglePrinter4();
                t.tablePrinter();
        }
}


作者: 呵呵1122    时间: 2015-12-28 13:27
收藏,学习
作者: 337325635    时间: 2015-12-28 14:02
{:2_30:}好像很有用




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2