如图: 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
提交
取消
