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