java 打印输出一个n行的杨辉三角,n由命令行参数输入

用Java语言

第1个回答  推荐于2018-05-10
import java.util.Scanner;

public class Test {

public void show(int n) {

int[][] nn = new int[n][]; // 根据输入值设置二维数组的第一维数
for (int i = 0; i < nn.length; i++) {
nn[i] = new int[i + 1]; // 设置第二维数
nn[i][0] = nn[i][i] = 1; // 对两头的元素赋值为1
for (int j = 1; j < nn[i].length - 1; j++) { // 对中间的元素赋值
nn[i][j] = nn[i - 1][j - 1] + nn[i - 1][j];
}
}

// 打印杨辉三角
for (int i = 0; i < nn.length; i++) {
for (int k = 0; k < n - i - 1; k++) {
System.out.print(" ");
}
System.out.print(nn[i][0] + " ");
for (int j = 1; j < nn[i].length; j++) {
if (nn[i][j] < 10) {
System.out.print(" " + nn[i][j] + " ");
} else if (nn[i][j] < 100) {
System.out.print(" " + nn[i][j] + " ");
} else {
System.out.print(" " + nn[i][j] + " ");
}
}
System.out.println();
}
System.out.println();
}

public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("输入一个数字(n):");
int n = in.nextInt();
Test test = new Test();
test.show(n);
}

}本回答被提问者和网友采纳
第2个回答  2010-05-11
import java.util.Scanner;

public class Test {
public static void main(String args[]) {
Scanner input =new Scanner(System.in);
System.out.println("输入n");
int n=input.nextInt();
int[][] a = new int[n][n];
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++) {
if (j < i) {
a[i][j] = 1;
if (j == 0) {
a[i][j] = 1;
} else {
a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
}
} else {
a[i][j] = 1;
}
}

for (int i = 0; i < n; i++) {
for (int k = 1; k <= n - i; k++)
System.out.printf(" ");

for (int j = 0; j <= i; j++) {
System.out.printf("%3d ", a[i][j]);
}
System.out.printf("\n");
}

}
}

java:杨辉三角,输入n输出它的前n行
在内部循环中,我们使用了公式 `num = num * (i - j) \/ (j + 1)` 来计算杨辉三角中的组合数,并使用 `printf()` 方法以规定的格式输出结果。最后,我们使用 `%n`(代表换行符)和 `printf()` 方法在控制台上输出前 n 行杨辉三角。例如,在以上程序中输入 `6`,将会输出以下结果:``...

java 杨辉三角
打印杨辉三角代码如下:public class woo { public static void triangle(int n) { int[][] array = new int[n][n];\/\/三角形数组 for(int i=0;i<array.length;i++){ for(int j=0;j<=i;j++){ if(j==0||j==i){ array[i][j]=1;}else{ array[i][j] = array[i-1][j...

java初级编程 关于杨辉三角
有输出界面截图, draw方法的截图,以及整个类文件内容跟.java文件附件。public class TestYangHui { public static void main(String[] args) { draw(10); \/\/调用画三角方法,可以随意传入正整数,传几画几行 } private static void draw(int n) { \/\/自定义的画三角方法 int...

用JAVA程序打印出杨辉三角
public class Test {public static void main(String args[]) {int a = 10;int b[][];b = new int[a][];for (int i = 1; i <= 10; i++) {b[i - 1] = new int[i];}for (int j = 0; j < 10; j++) {for (int k = 0; k <= j; k++) {if (j == 0 |...

java编写杨辉三角~~~
杨辉三角形性质:每行数字左右对称,由 1 开始逐渐变大,然后变小,回到 1。第 n 行的数字个数为 n 个。第 n 行数字和为 2^(n-1) 。每个数字等于上一行的左右两个数字之和。可用此性质写出整个杨辉三角形。第 n 行的第 1 个数为 1,第二个数为 1× (n-1) ,第三个数为 1× (...

JAVASCRIPT输出杨辉三角
var n = prompt("请输入幂数:",9);n = n - 0;var t1 = new Date();var a1 = [1,1];var a2 = [1,1];print('');for (var i = 0;i <=n;i++![在这里插入图片描述](http:\/\/c.biancheng.net\/uploads\/allimg\/190830\/6-1ZS015492BL.gif)){ for (var j = 1; j < ...

由用户输入自然数n(n ≤ 20),编程计算并输出n行的杨辉三角形
include<stdio.h>#define N 20int main(){int a[N][N] = {0}, n;int i, j;scanf("%d", &n);for (i=0; i<n; i++){a[i][0] = 1;a[i][i] = 1;} for (i=2; i<n; i++){for (j=1; j<=i-1; j++){a[i][j] = a[i-1][j-1] + a[i-1...

求助java金字塔杨辉三角(不知道我的这个哪里错了)
import java.util.Scanner;public class nihao{public static void main(String[] args){Scanner sc = new Scanner(System.in);while(true){System.out.println("请输入杨辉三角的行数:");int n = -1;try{n = sc.nextInt();}catch(Exception e){sc.close();System.err.println("已退出")...

java实现杨辉三角形
对于你这个for循环。按照你输入的5来分析,第一个放一起的写法,这是只有一层循环,当(x,y)=(3,2)(4,3)(5,4)(6,5)时,满足循环条件,共循环四次。第二种分开写,两层循环,当外层x=3时,进去内层循环,y可取2,3,4,5。内层循环结束回到外层,x=4,进入内层,同理y可取2,3,4...

JAVA语言编写杨辉三角,打印不出三角形
打印一个新行并开始输出下一行数字。 System.out.println(); } }}(上述代码的空格长度 6 和 3 可以随意更改,只要确保长空格长度是偶数,短空格长度是长空格的一半即可。空格越长输出的三角形越松散)。以上代码运行的结果为 是一个完整的杨辉三角形。

相似回答