java怎么打印等腰梯形

http://img.mukewang.com/58e632f400017aaa02640172.jpg如图:  java怎么实现

田心枫
浏览 5232回答 3
3回答

smallyu

public class test2 { public static void main(String[] args) { for(int i = 1; i <=5 ; i++) { for(int j = 5 - i; j > 0; j--){ System.out.print(" "); } for(int k = 2 * i + 1; k > 0; k--) { System.out.print("*"); } System.out.println(); } } }i控制行数,j控制空格数,k控制*数。为什么数值那样选,只是为了迎合题目。对了,题主问的是java。

西兰花伟大炮

<script>     var arrorigin = new Array();     arrorigin[0] = [0,0,0,0,1,1,1,0,0,0,0];     arrorigin[1] = [0,0,0,1,1,1,1,1,0,0,0];     arrorigin[2] = [0,0,1,1,1,1,1,1,1,0,0];     arrorigin[3] = [0,1,1,1,1,1,1,1,1,1,0];     arrorigin[4] = [1,1,1,1,1,1,1,1,1,1,1];     for (var i = 0;i < arrorigin.length;i++){         for (var j = 0;j < arrorigin[0].length;j++){             if (arrorigin[i][j] == 0){                 document.write("&nbsp");             }else {                 document.write("*");             }             if (j == arrorigin[0].length - 1){                 document.write("<br>");             }         }     } </script>千辛万苦想了个蠢办法,佩服自己

ziom

最常见的方式应该是使用双层循环,外层控制行,内层控制每行的*个数,有两个地方是关键,第一行的*个数,以及相邻行的*差数,比如你截的这个图里就是第一行3个*,相邻行差2。根据行数、第一行*数、相邻行*差数三个变量就可以计算出最后一行*数,从而计算出内层循环打印*时的缩进。还有其他的方式,我记得这个等腰梯形有个公式,通过公式只需要一层循环就能打印出来,但是可读性不太好(或者说对于我这种数学渣来说是不太好)。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java