A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 游呤人 中级黑马   /  2015-7-18 02:40  /  288 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 游呤人 于 2015-7-18 03:04 编辑

/*
*     这个三角形是一个等等腰三角形
*     第一行是  是一个 *  ,第二行是两个*  ...第N行正好是2*N-1
*     那么我们可以这样考虑假设一(n)*(2*n-1)最后一行填满,第N-1行前后两段正好是没有..
*     如次一次递减,但是这样很不好处理,于是就假设第一行是满行,向下依次递减.
*      但是这样就要倒过来输出.            
*        
* */

public class Triangle {
        public static void fun(int h){
                if(h==0){
                                return;
                }
                String[][] arr=new String[h][2*h-1];  
                for(int i=0;i<arr.length;i++){
                                        for(int j=0;j<arr.length;j++){
                                                        if(j<i||j>(arr.length-1)-i){
                                                                        arr[j]="  ";
                                                        }else{
                                                                        arr[j]="*";        
                                                        }
                                    }                        
                }
                for(int i=arr.length-1;i>-1;i--){
                        for(int j=0;j<arr.length;j++){
                                        System.out.print(arr[j]);
                        }
                        System.out.print('\n');
                }
        }
        public static void main(String[] args)  {
                Triangle.fun(4);
        }
}


输出效果

2015-07-18 03:01:36屏幕截图.png (526 Bytes, 下载次数: 12)

2015-07-18 03:01:36屏幕截图.png

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马