码迷,mamicode.com
首页 > 编程语言 > 详细

java算法之打印杨辉三角

时间:2018-02-06 01:17:14      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:blog   直接   ring   -o   image   triangle   class   java算法   一个   

效果图如下:
技术分享图片
首先我们看图片上下是对称的,我们先来打印上半部分,
1.用一个for循环来做外层循环控制打印的列数
for(int i =0;i<10;i++){//打印10列

        }

        2.同样用2个for循环来打印内层的空格和*
                        for(int j = 0;j<10-j;j++){//打印空格,不换行
                                    System.out.print(" ")
                        }
                        当打印了空格不换行,再打印*就只能往后面放
                        for(int k = 0;k<2*i;k++){//打印“*”
                                            System.out.print("*")
                        }

                        完整代码如下:
                            for(int i=1;i<10;i++) {
                                    for(int j = 1 ;j<10-i;j++) {//打印空格
                                                System.out.print(" ");
                                        }
                                        for(int k = 1;k<2*i;k++) {//打印“*”
                                                System.out.print("*");
                                        }

                                            System.out.println();//打印一行后换行
                        }

                        这段代码打印后效果图如下:

技术分享图片

                3.接下来写下半角,思路和上半角一样,只是循环的条件变了而已
                直接上代码:
                for(int i=1;i<10;i++) {
                            for(int k = 0;k<i;k++) {
                                    System.out.print(" ");
                            }
                            for(int j = 1;j<18-2*i;j++) {
                                    System.out.print("*");
                            }
                            System.out.println();
            }

            上图:

技术分享图片

            ok,现在只要将代码拼接就可以了。
            完整代码如下:
            public class PascalTriangle {

public static void main(String[] args) {
    for(int i=1;i<10;i++) {
                    for(int j = 1 ;j<10-i;j++) {
                            System.out.print(" ");
                    }
                    for(int k = 1;k<2*i;k++) {
                                System.out.print("*");
                    }

                System.out.println();
    }
    for(int i=1;i<10;i++) {
            for(int k = 0;k<i;k++) {
                        System.out.print(" ");
            }
            for(int j = 1;j<18-2*i;j++) {
                        System.out.print("*");
            }
        System.out.println();
}

}
}
这个题目思路主要就是利用循环分别打印空格和*,然后用条件来限制个数。

java算法之打印杨辉三角

标签:blog   直接   ring   -o   image   triangle   class   java算法   一个   

原文地址:http://blog.51cto.com/10972685/2069207

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!