Java代码,打印如下的杨辉三角。注意该三角形是居中对齐的
时间: 2023-09-16 07:06:35 浏览: 133
### 回答1:
非常感谢您的提问!以下是Java代码,可以打印出居中对齐的杨辉三角:
```
import java.util.Scanner;
public class YangHuiTriangle {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入要打印的行数:");
int n = scanner.nextInt();
int[][] arr = new int[n][2 * n - 1];
for (int i = 0; i < n; i++) {
for (int j = 0; j < 2 * n - 1; j++) {
if (j == n - 1 || j == 2 * n - 2 - n + 1) {
arr[i][j] = 1;
} else if (j > n - 1 && j < 2 * n - 2 - n + 1) {
arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j + 1];
}
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < 2 * n - 1; j++) {
if (arr[i][j] != 0) {
System.out.print(arr[i][j] + " ");
} else {
System.out.print(" ");
}
}
System.out.println();
}
}
}
```
如果您有任何问题或需要进一步帮助,请随时联系我!
### 回答2:
杨辉三角是一个漂亮的数学图形,可以用Java代码打印出来。在打印杨辉三角之前,我们需要先确定三角形的行数,然后按照规律计算并打印出每一行的数字。
以下是打印5行杨辉三角的示例代码:
```java
public class YanghuiTriangle {
public static void main(String[] args) {
int rows = 5; // 三角形的行数
for (int i = 0; i < rows; i++) {
// 打印每行前面的空格,使三角形居中对齐
for (int j = 0; j < rows - i; j++) {
System.out.print(" ");
}
// 计算并打印数字
int number = 1;
for (int j = 0; j <= i; j++) {
System.out.print(number + " ");
number = number * (i - j) / (j + 1); // 递推公式
}
System.out.println();
}
}
}
```
运行上述代码,将会得到如下的杨辉三角:
```
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
```
以上代码通过两层循环,第一层循环用于控制行数,第二层循环用于打印每一行前面的空格和计算并打印出数字。表示数字的 `number` 使用递推公式 `number = number * (i - j) / (j + 1)` 计算出下一个数字。
### 回答3:
杨辉三角是一个数学上的经典图形,用于展示组合数的性质。在Java中,可以使用循环和数组来打印出杨辉三角,具体步骤如下:
1. 首先,我们需要通过用户输入获取杨辉三角的行数:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入杨辉三角的行数:");
int rows = scanner.nextInt();
scanner.close();
```
2. 接下来,我们需要创建一个二维数组来存储杨辉三角的数值,并初始化数组中的元素为0。同时,我们还需要将杨辉三角的第一个数值设置为1:
```java
int[][] triangle = new int[rows][rows];
for (int i = 0; i < rows; i++) {
triangle[i][0] = 1;
}
```
3. 然后,我们通过循环计算每个位置上的数值,根据杨辉三角的规律,每个数值等于上一行的相邻两数之和。同时,我们也需要确保杨辉三角的对称性,所以我们只需要计算每行的一半即可:
```java
for (int i = 1; i < rows; i++) {
for (int j = 1; j <= i / 2; j++) {
triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j];
}
}
```
4. 最后,我们通过循环打印出杨辉三角的数值,并使用空格进行居中对齐:
```java
for (int i = 0; i < rows; i++) {
for (int j = 0; j <= i / 2; j++) {
System.out.print(" ");
}
for (int j = 0; j <= i; j++) {
System.out.printf("%-4d", triangle[i][j]);
}
System.out.println();
}
}
}
```
以上就是用Java代码打印杨辉三角并居中对齐的步骤和实现过程。通过以上代码运行后,用户输入所需的杨辉三角行数后,即可打印出相应的居中对齐的杨辉三角。
阅读全文