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