作者TonyQ (沉默是金)
看板java
標題Re: [問題] 如何用一個 for 印出星號菱形
時間Wed May 13 02:34:00 2009
一個for為什麼不能當兩個用?
以這個例子
*
**
***
****
*****
────────────────────────────────
int y=5;
for(int i=0,j=0; j<y ;){
if(i>j){
System.out.println();
i=0;
j++;
continue;
}
System.out.print("*");
/* 基本進位 */
++i;
}
────────────────────────────────
同理 , 一個 for 要寫出 99 乘法之類的 , 我相信每個人都做得到 ,
這不過是一種類似腦力急轉彎考你應用面的問題而已 ,
應用面的問題與其想什麼優雅解答 , 不如硬幹...
連硬幹都不會的 , 那表示你本來腦袋就還沒融會貫通 , 需要練習.
────────────────────────────────
ps 說到座標法 , 這輩子讓我真的想動用座標法 ,
是以前練習用的某個圖形...
* *
* * * *
* * * *
* * *
* *** *
* ***** *
*******
* ***** *
* *** *
* * *
* * * *
* * * *
* *
因為有聯集又有交集 , 顯然是線型軌跡 , 所以動用了座標法. XD
for(int i=0;i<=12;i++){
for(int j=0;j<13;j++){
if((i-j-3)%6==0) System.out.print("*");//左上往右下的線
else if((i+j-3)%6==0) System.out.print("*");//右上往左下的線
else if(i+j>9&&i+j<16&&j-i<3&&j-i>-4)System.out.print("*");
//找四條線範圍內的點
else System.out.print(" ");
}
System.out.println();
}
--
寫題目要領在於先能跑 , 跑後能修 , 日後能善. :p
--
What do you want to have ? / What do you have?
從書本中,你可以發現我的各種興趣。
從CD中,你可以瞭解我所喜歡的偶像明星。
或許從文字你很難以瞭解一個人,但從物品可以。
My PPolis , My past. http://ppolis.tw/user/Tony
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 221.169.78.140
推 H45:我寫了好多很難修改的物件....日後不善 X-( 05/13 03:12
→ TonyQ:知錯能改 , 善莫大焉. (光速逃) 05/13 03:24
推 tomin:有也辦法畫實心的X + D囉 05/13 08:35
→ tomin:也有 05/13 08:36
推 AI3767:其實,不能用for的話.... 那用while可以吧XD (逃) 05/13 12:58
推 cecol:想當初我也是硬幹出來的..之後就沒再思考更加解答了 05/13 14:27