使用Java打印出10行的楊輝三角形的完整代碼
前言
楊輝三角形是一個非常經(jīng)典的數(shù)學(xué)圖形,它在組合數(shù)學(xué)中有著重要的地位。每個數(shù)是它左上方和右上方的數(shù)的和(除了邊界上的數(shù))。本文將通過Java語言實現(xiàn)一個簡單的程序來打印出10行的楊輝三角形。

楊輝三角形的定義
楊輝三角形的特點:
- 每一行的第一個和最后一個數(shù)字都是1。
- 從第三行開始,每個數(shù)字等于上一行的兩個相鄰數(shù)字之和。
實現(xiàn)思路
- 創(chuàng)建一個二維數(shù)組來存儲楊輝三角形的值。
- 初始化第一列和對角線上的元素為1。
- 根據(jù)楊輝三角形的規(guī)則填充其他位置的值。
- 打印二維數(shù)組中的值,形成楊輝三角形。
Java代碼實現(xiàn)
public class YangHuiTriangle {
public static void main(String[] args) {
int numRows = 10; // 定義楊輝三角形的行數(shù)
printYangHuiTriangle(numRows);
}
public static void printYangHuiTriangle(int numRows) {
int[][] triangle = new int[numRows][numRows];
// 填充楊輝三角形
for (int i = 0; i < numRows; i++) {
triangle[i][0] = 1; // 每一行的第一個元素
triangle[i][i] = 1; // 每一行的最后一個元素
for (int j = 1; j < i; j++) {
triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j];
}
}
// 打印楊輝三角形
for (int i = 0; i < numRows; i++) {
for (int j = 0; j <= i; j++) {
System.out.print(triangle[i][j] + " ");
}
System.out.println();
}
}
}運行結(jié)果
運行上述Java程序,將得到以下輸出:
1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1

楊輝三角形是一個經(jīng)典的數(shù)學(xué)結(jié)構(gòu),每一行的數(shù)字都是上一行相鄰兩個數(shù)字之和。下面是一個使用Java編寫的示例代碼,用于打印出10行的楊輝三角形:
public class YangHuiTriangle {
public static void main(String[] args) {
int rows = 10; // 打印10行
printYangHuiTriangle(rows);
}
public static void printYangHuiTriangle(int rows) {
// 創(chuàng)建一個二維數(shù)組來存儲楊輝三角形的值
int[][] triangle = new int[rows][rows];
// 填充楊輝三角形的值
for (int i = 0; i < rows; i++) {
triangle[i][0] = 1; // 每一行的第一個元素為1
triangle[i][i] = 1; // 每一行的最后一個元素為1
// 計算中間的值
for (int j = 1; j < i; j++) {
triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j];
}
}
// 打印楊輝三角形
for (int i = 0; i < rows; i++) {
// 打印空格以對齊三角形
for (int k = 0; k < rows - i - 1; k++) {
System.out.print(" ");
}
for (int j = 0; j <= i; j++) {
System.out.printf("%5d", triangle[i][j]);
}
System.out.println();
}
}
}代碼解釋:
- 定義主類和主方法:?
?YangHuiTriangle?? 類包含 ??main?? 方法,作為程序的入口。 - 定義打印方法:?
?printYangHuiTriangle?? 方法用于生成并打印楊輝三角形。 - 創(chuàng)建二維數(shù)組:?
?triangle?? 數(shù)組用于存儲楊輝三角形的值。 - 填充數(shù)組:
- 每一行的第一個和最后一個元素設(shè)置為1。
- 中間的元素通過上一行的相鄰兩個元素相加得到。
- 打印數(shù)組:
- 使用嵌套循環(huán)打印楊輝三角形。
- 外層循環(huán)控制行數(shù),內(nèi)層循環(huán)控制每行的元素。
- 打印前的空格用于對齊三角形。
運行上述代碼后,你將看到如下輸出:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
楊輝三角形是一個經(jīng)典的數(shù)學(xué)問題,它每一行的數(shù)字都是上一行相鄰兩個數(shù)字之和。下面我將詳細(xì)介紹如何使用Java來實現(xiàn)打印10行的楊輝三角形。
1. 理解楊輝三角形的結(jié)構(gòu)
楊輝三角形的特點:
- 第n行有n個數(shù)字。
- 每一行的第一個和最后一個數(shù)字都是1。
- 從第3行開始,每個數(shù)字等于它上方兩個數(shù)字之和。
2. Java代碼實現(xiàn)
public class YangHuiTriangle {
public static void main(String[] args) {
int numRows = 10; // 打印10行
printYangHuiTriangle(numRows);
}
public static void printYangHuiTriangle(int numRows) {
// 創(chuàng)建一個二維數(shù)組來存儲楊輝三角形的值
int[][] triangle = new int[numRows][numRows];
// 填充楊輝三角形的值
for (int i = 0; i < numRows; i++) {
triangle[i][0] = 1; // 每一行的第一個元素是1
triangle[i][i] = 1; // 每一行的最后一個元素是1
for (int j = 1; j < i; j++) {
triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j];
}
}
// 打印楊輝三角形
for (int i = 0; i < numRows; i++) {
for (int j = 0; j <= i; j++) {
System.out.print(triangle[i][j] + " ");
}
System.out.println();
}
}
}3. 代碼解釋
- 定義主類和主方法:
public class YangHuiTriangle {
public static void main(String[] args) {
int numRows = 10; // 打印10行
printYangHuiTriangle(numRows);
}
}這里定義了一個主類 ??YangHuiTriangle?? 和主方法 ??main??,在主方法中調(diào)用了 ??printYangHuiTriangle?? 方法來打印10行的楊輝三角形。
- 創(chuàng)建二維數(shù)組并填充楊輝三角形的值:
public static void printYangHuiTriangle(int numRows) {
int[][] triangle = new int[numRows][numRows];
for (int i = 0; i < numRows; i++) {
triangle[i][0] = 1; // 每一行的第一個元素是1
triangle[i][i] = 1; // 每一行的最后一個元素是1
for (int j = 1; j < i; j++) {
triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j];
}
}
}- 創(chuàng)建一個 ?
?numRows x numRows?? 的二維數(shù)組 ??triangle?? 來存儲楊輝三角形的值。 - 使用兩層循環(huán)來填充數(shù)組:
- 外層循環(huán) ?
?i?? 遍歷每一行。 - 內(nèi)層循環(huán) ?
?j?? 遍歷每一行的每一個元素。 - 每一行的第一個和最后一個元素設(shè)置為1。
- 其他元素的值等于它上方兩個元素之和。
- 打印楊輝三角形:
for (int i = 0; i < numRows; i++) {
for (int j = 0; j <= i; j++) {
System.out.print(triangle[i][j] + " ");
}
System.out.println();
}- 使用兩層循環(huán)來打印二維數(shù)組中的值。
- 外層循環(huán) ?
?i?? 遍歷每一行。 - 內(nèi)層循環(huán) ?
?j?? 遍歷每一行的每一個元素,并打印出來。 - 每打印完一行后,換行。

4. 運行結(jié)果
運行上述代碼,你將得到以下輸出:
1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1
這就是使用Java打印10行楊輝三角形的完整代碼和解釋。希望對你有所幫助!如果有任何問題或需要進(jìn)一步的解釋,請隨時告訴我。
以上就是使用Java打印出10行的楊輝三角形的詳細(xì)內(nèi)容,更多關(guān)于Java打印楊輝三角形的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Java 的ArrayList集合底層實現(xiàn)與最佳實踐
本文主要介紹了Java的ArrayList集合類的核心概念、底層實現(xiàn)、關(guān)鍵成員變量、初始化機制、容量演變、擴(kuò)容機制、性能分析、核心方法源碼解析、特殊場景與常見問題、性能優(yōu)化與最佳實踐以及與LinkedList的對比,感興趣的朋友跟隨小編一起看看吧2025-11-11
Java創(chuàng)建線程池為什么一定要用ThreadPoolExecutor
本文介紹了Java創(chuàng)建線程池為什么一定要用ThreadPoolExecutor,手動方式使用ThreadPoolExecutor創(chuàng)建線程池和使用Executors執(zhí)行器自動創(chuàng)建線程池,下文更多相關(guān)內(nèi)容需要的小伙伴可以參考一下2022-05-05
SpringBoot3.x集成nacos并實現(xiàn)多環(huán)境配置的操作步驟
本文詳細(xì)介紹了如何在Springboot3.x中集成Nacos2.x版本,包括nacos的安裝、配置更改,以及在集成過程中遇到的問題,如端口設(shè)置、依賴版本調(diào)整等,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2024-10-10
Centos7安裝JDK1.8詳細(xì)過程實戰(zhàn)記錄
這篇文章主要給大家介紹了關(guān)于Centos7安裝JDK1.8的相關(guān)資料,文中通過圖文以及實例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2022-09-09

