用不規則數組打印1-100規則排列的三角形
阿新 • • 發佈:2017-11-22
效果 oid com public 用法 最大 不規則 圖片 數組實現
需求:
1. 打印1-100數字組成的直角三角形,不足位用 ‘- ‘補齊
2.使用不規則數組實現
技術考核:
1.數組,多維數組,不規則數組
2.自增自減運算符
3.for 多層循環與跳出
- break 跳出語句
- continue 繼續語句
4.字符串
效果圖:
思路:
1.使用不規則數組實現,可任意定義數字的最大值
2.使用多層嵌套循環
3.break 跳出語句
4.continue 繼續語句
代碼:
// 不規則數組打印1-100 的梯形 public static void print100Nums() { int[][] arr = new int[20][]; out : for (int i = 0; i < arr.length; i++) { arr[i] = new int[i + 1]; for (int j = 0; j < arr[i].length; j++) { if (i == 0 & j == 0) { arr[i][j] = (i + 1) * (j + 1); } else if (j == 0) { int lastIndex = arr[i - 1].length - 1; int lastValue = arr[i - 1][lastIndex]; arr[i][j] = lastValue + 1; } else { arr[i][j] = arr[i][j - 1] + 1; } if(arr[i][j]==100){ break out; } } } int firIndex = 0; int senIndex = 0; for(int i=0;i<arr.length;i++){ for(int j=0;j<arr[i].length;j++){ int value = arr[i][j]; int len = String.valueOf(value).length(); if(firIndex!=0 && senIndex != 0 && firIndex == i && senIndex < j){ System.out.print("-"+" "); continue; } if(len<2){ System.out.print(value+" "); } else { System.out.print(value+" "); } if(value == 100){ firIndex = i; senIndex = j; } } System.out.println(); if(firIndex!=0 && senIndex != 0 && firIndex == i){ break; } } }
另一種打印方式:
for(int [] x: arr){ for (int y : x){ System.out.print(y + " "); if(y==100){ return; } } System.out.println(); }
總結:
跳轉語句
break 跳出
用法1:跳出循環;當循環嵌套時,跳出當前的循環;
用法2:跳出語句塊。 用於循環嵌套時跳出外循環。
continue 繼續
用法:雖然break可以跳出循環,但是有時候要停止一次循環剩余的部分,同時還要繼續執行下次循環,這時候就需要continue
return 返回
用法:終止以下所有程序的執行
用不規則數組打印1-100規則排列的三角形