1. 程式人生 > >用不規則數組打印1-100規則排列的三角形

用不規則數組打印1-100規則排列的三角形

效果 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規則排列的三角形