本帖最后由 张向辉 于 2013-1-16 11:41 编辑
今天看毕老师打印等边三角,还没看到的时候,自己就先去试试可以写出来不,很遗憾没有写出来,下面的代码- for(int i=1;i<=6;i++){
- for(int j=1;j<=i;j++){
- for(int k=6-i;k>=0;k--){
- System.out.print(" ");
- }
- System.out.print("* ");
- }
- System.out.println();
- }
复制代码 然后看毕老师的视频代码如下- for(int i =0; i<5;i++){
- for(int j=i;j<=5;j++){
- System.out.print(" ");
- }
- for(int z=0;z<=i;z++){
- System.out.print("* ");
- }
- System.out.println();
- }
复制代码 然后自己还是心有不甘,觉得应该还有其他方式,于是花了半个小时终于用自己的方法弄了出来,在第一段代码上面稍作修改就OK了,如下:- for(int i=1;i<=6;i++){
- for(int j=1;j<=i;j++){
- if(j==1){//这里的打印主要是打印每行最前面的空格,对于后面的空格就不能循环去打印了,不然会出现跟第一段代码的效果。所以这里只判断j==1的情况
- for(int k=6-i;k>=0;k--){
- System.out.print(" ");
- }
- }
- System.out.print("* ");
- }
- System.out.println();
- }
- <img src="http://bbs.itheima.com/forum.php?mod=image&aid=11401&size=300x300&key=08b27d77f7e75a0b22573ba2cd8444bd&nocache=yes&type=fixnone" border="0" aid="attachimg_11401" alt="">
复制代码 分析下差别毕老师的代码清晰易懂,更容易理解,他把这个等边三角的前面部分看成是一个倒三角,先打印倒三角,然后打印星号
我自己的代码自己都弄了好一会才能出来,所以易读性较差,我并没有把前面看成是一个倒三角,而是很SB的把整个作为一图形去打印,
我们的代码都用了3个for循环嵌套,毕老师的中间两个嵌套是同级的,而我的是3层嵌套,代码非常混乱,不易读。
|
|