如图: java怎么实现
3 回答
smallyu
TA贡献6条经验 获得超5个赞
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。
已采纳
西兰花伟大炮
TA贡献376条经验 获得超318个赞
<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(" "); }else { document.write("*"); } if (j == arrorigin[0].length - 1){ document.write("<br>"); } } } </script>
千辛万苦想了个蠢办法,佩服自己
ziom
TA贡献948条经验 获得超1109个赞
最常见的方式应该是使用双层循环,外层控制行,内层控制每行的*个数,有两个地方是关键,第一行的*个数,以及相邻行的*差数,比如你截的这个图里就是第一行3个*,相邻行差2。根据行数、第一行*数、相邻行*差数三个变量就可以计算出最后一行*数,从而计算出内层循环打印*时的缩进。
还有其他的方式,我记得这个等腰梯形有个公式,通过公式只需要一层循环就能打印出来,但是可读性不太好(或者说对于我这种数学渣来说是不太好)。
添加回答
举报
0/150
提交
取消