1. 程式人生 > >使用巢狀迴圈列印圖形

使用巢狀迴圈列印圖形

迴圈巢狀

迴圈裡面可以巢狀迴圈,今天我們就用雙層for迴圈列印圖形和做出楊輝三角。列印圖形時,把圖形看做行,列。外層迴圈來控制行,內層控制列。如果是有星星還有空格的型別。模板就是
外層   for(int i = 0;i<=行數;i++)       
內層   for(int j = 0 ;j<=列數;j++)    列數 = 空格數 + 星星數
if(i<空格數){ 								 空格數 = 用行數變量表示出空格數
輸出空格;									 星星數 = 也用行數變量表示出來
}else{
輸出星星;
}

public class TestPrint{
	public static void main(String[]args){	
		//等腰三角形
		for(int i=1;i<=5;i++){
			for(int j=0;j<=2*i-1+5-i;j++){
				if(j<=5-i){
					System.out.print(" ");
				}
					else{
						System.out.print("*");
					}	
				}
				System.out.println();
			}
		//平行四邊形
			for(int i=1;i<=5;i++){
			for(int j=0;j<=10-i;j++){
				if(j<=5-i){
					System.out.print(" ");
				}
					else{
						System.out.print("*");
					}	
				}
				System.out.println();
			}
		//九九乘法表
		for(int i=1;i<=9;i++){
			for(int j=1;j<=i;j++){
				if(j<=i)
				System.out.print(j+"*"+i+"="+j*i+"\t");
			}
			System.out.println();
		}
	}
}

楊輝三角

在這裡插入圖片描述 仔細觀察楊輝三角,你會發現,楊輝三角的每一行的第一個數字和最後一個數字都是1.中間的數是頭上的數和頭上的前一個數相加的和。這樣我們就可以結合列印圖形和楊輝三角的規律打印出楊輝三角。把楊輝三角的數放在二維陣列中,只需要對二維陣列進行處理即可。二維陣列可以看做一維數組裡面放一個一維陣列。

import java.util.*;
public class yangHui{
	public static void main(String[]args){
		Scanner sc=new Scanner(System.in);
		System.out.println("請輸入row");
		int row=sc.nextInt();
		//初始化一個二維陣列
		int [][] arr=new int[row][];
		//分配記憶體並賦值
		for(int i=0;i<row;i++){
			//設定記憶體大小,二維陣列中的一維陣列分配記憶體
			arr[i]=new int[i+1];
			for(int j=0;j<arr[i].length;j++){
				if(j==0||j==arr[i].length-1){//第一個數和最後一個數為1
					arr[i][j]=1;
					}else{
				arr[i][j]=arr[i-1][j]+arr[i-1][j-1];
					}
			}
		}
		System.out.println("楊輝三角為");
		//輸出arr
		for(int i=0;i<arr.length;i++){
			for(int j=0;j<arr[i].length;j++){
					System.out.print(arr[i][j]+" ");
			}
			System.out.println();
		}
	}
}

總結

楊輝三角的每一列的數是每一行的行數加1,因為從0開始的。跟一維陣列動態分配記憶體,第一個一維陣列存放第二一位陣列的記憶體地址。這樣就可以輸出楊輝三角。