這是很多在學習Java都會遇到的作業,常在各大論談都有人提出,不過即然是作業了,應該自己學習來的好,可是老師一成不變的作業也說不過去是吧,這裡就提供了數種老師常會用來當作業的迴圈習題,像是印1 2 3 4 5 ,或是印* 星號等,有遇到就再補上。
印出1到5,5到1的數列,每一行內容為1到該行的數字長
利用數學式子,運算出1-5及5-1二種不同方向的數,再利用另一個迴圈印出該行的數列長,其中(i+1)/5 是取除5的整數,而(i + 1) %5 是取5的餘數。
程式碼如下:
for(int i = 0 ; i < 9; i ++) { int d = java.lang.Math.abs((i +1)/5 *5 - (i +1)%5); System.out.print(" "); for(int j = 0 ; j < d ; j ++) { System.out.print(j+1); } System.out.println(); }
印出5到1的數列,每一行內容為1到該行的數字長
就從5開始印,每次減一,另一回圈再印5到該數的所有數字
程式碼如下:
for(int i = 5 ; i >0 ; i --) { System.out.print(" "); for(int j = 5; j >= i ; j --) System.out.print(j); System.out.println(); }
印出一個等邊三角形
同第一個的想法,只是印出來的內容改成*星號
程式碼如下:
for(int i = 0 ; i < 9; i ++) { int d = java.lang.Math.abs((i +1)/5 *5 - (i +1)%5); System.out.print(" "); for(int j = 0 ; j < d ; j ++) { System.out.print("*"); } System.out.println(); }
印出一個直角三角形
同第二個的想法,只是印出來的內容改成*星號
程式碼如下:
for(int i = 5 ; i >0 ; i --) { System.out.print(" "); for(int j = 5; j >= i ; j --) System.out.print("*"); System.out.println(); }