Java經典案例(1)——楊輝三角

嚶嚶嚶,最近在學Java,邊聽視頻邊記筆記,老師出了一道Java題目(沒看答案,自己琢磨的,粗糙出請擔待),我粗略的知道自己能做,於是練習了一下,通過調試bug,修改好了程序,於是做下了記錄,希望能幫助大家!

題目:打印楊輝三角形(行數可以鍵盤錄入)

輸出下面的形式:

1

1        1

1        2     1

1        3     3     1

1        4     6     4     1

1        5     10    10    5     1

我下面進行題目的分析:

  • 首先,觀察輸出的數字圖形,知道行數和列數應該是相同的,所以題目纔要求:鍵盤輸入行數(而不是輸入行數和列數)
  • 接着,每一行的第一個元素和最後一個元素都是1
  • 然後,每行中除卻了第一個元素和最後一個元素外的其他元素的值是"肩上"的兩個元素的和,即arr[2][1] = arr[1][0]+arr[1];
  • 最後,注意到行數從2開始纔會出現第三步的情況,且滿足需要進行加法運算的元素的個數是i-1(i是當前所在的行的數值),所以可以用for循環嵌套使用

代碼如下:

import java.util.Scanner;
class SwitchDemo
{
	public static void main(String[] args)
	{
		Scanner sc = new Scanner(System.in);
		System.out.println("請輸入行數:");
		int raw = sc.nextInt();
		System.out.println("-----------------------");
		int[][] arr = new int[raw][raw];
		for(int i = 0;i < raw;i++)
		{
			arr[i][0] = 1;
			arr[i][i] = 1;
			if(i >= 2 && i < raw)
			{
				for(int j = 1;j <= i - 1;j++)
				{
					arr[i][j] = arr[i-1][j-1] + arr[i-1][j];
				}
			}
			for(int j = 0;j <= i;j++)
			{
				System.out.print(arr[i][j]+"\t");
			}
			System.out.println();
		}
	}
}

代碼截圖效果:

關鍵詞:鍵盤錄入、for循環嵌套使用、二維數組

寫到最後,有興趣一起學Java的夥伴加我微信W17663712231,煩請關注我的微信公衆號"空谷小莜藍"哦!,謝謝大家

                                                                   

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章