java语言输入行数输出对应行数的杨辉三角要求最后一行第一个数到行首的距离为 %2s 的距离,其余行往上依次加 %2s 的距离。
时间: 2024-09-22 21:04:39 浏览: 60
在Java中,要实现杨辉三角并满足你提到的要求,你可以使用嵌套循环以及数组来存储每一行的数字,并通过计算来调整行距。这里是一个简单的示例:
```java
import java.util.Scanner;
public class YangHuiTriangle {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入行数:");
int rows = scanner.nextInt();
int distance = scanner.nextInt(); // 行距
// 初始化二维数组,用于存储杨辉三角
int[][] triangle = new int[rows][];
for (int i = 0; i < rows; i++) {
triangle[i] = new int[i + 1]; // 每一行的长度
triangle[i][0] = 1;
if (i > 0) {
triangle[i][1] = 1;
}
}
// 打印杨辉三角
for (int i = 0; i < rows; i++) {
for (int j = 0; j <= i; j++) {
// 计算行距调整
int spacing = Math.max(0, i - j - distance);
// 输出当前元素及行距
System.out.printf("%" + (j + spacing + 1) * 2 + "d", triangle[i][j]);
}
System.out.println(); // 换行
}
scanner.close();
}
}
```
在这个程序中,首先用户会输入行数和行距,然后根据这些信息生成和打印出指定形式的杨辉三角。`printf`函数的格式控制字符串`%" + (j + spacing + 1) * 2 + "d"`用于设置每个数字的对齐位置。
阅读全文