怎样用java打印杨辉三角,自己输入行
/**
* 打印杨辉三角
功能描述:使用多重循环打印6阶杨辉三角
* @author pieryon
*
*/
public class YHSJ {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("请输入行号:");
int m = in.nextInt();
int n = 2*m-1;//列元素数;
int arr[][] = new int[m][n];
for (int i = 0; i m; i++) { //外循环控制行
for (int j = 0; j n; j++) { //内循环控制列
if (j(m-i-1)||(j=(m+i))) { //输出等腰三角形两边空格
System.out.print(" ");
}else if (j==(m-i-1)||j==(m+i-1)) { //计算输出等腰三角形两边的空格
arr[i][j] = 1;
System.out.print(arr[i][j]);
}else if ((i+j)%2==0m%2==0||(i+j)%2==1m%2==1) {
System.out.print(" ");
}else {
arr[i][j] = arr[i-1][j-1]+arr[i-1][j+1];
System.out.print(arr[i][j]);
}
}
System.out.println();
}
}
}
以上就可以轻松实现杨辉三角的打印了!
java实现杨辉三角形
import java.util.Scanner;
public class yh {
public static void main(String[] args) {
int row = getInt("请输入需要打印的行数(1-20): ");
int[][] a = new int[row][row];
for (int i = 0; i row; i++)
for (int j = 0; j row; 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 row; i++) {
for (int j = 0; j = i; j++) {
System.out.printf("%5d ", a[i][j]);
}
System.out.printf("\n");
}
}
/**
* 这里判断是不是输入非数字并且行数应该在1-20行之内
*
* @param tip
* @return
*/
public static int getInt(String tip) {
int row = 0;
try {
System.out.print(tip);
Scanner sc = new Scanner(System.in);
row = sc.nextInt();
} catch (Exception e) {
System.out.println("输入有误");
row = getInt(tip);
}
if (row 1 || row 20) {
System.out.println("输入有误");
row = getInt(tip);
}
return row;
}
}
杨辉三角用java怎么编写代码???
package 大溶合;
/*
* @author qingsongwang
* @杨辉三角,标准的for实现..
*/
class yanghuisanjiao
{
public static void main(String args[]){
final int MAX=10;
int mat[][]=new int[MAX][];
int i=0,j,n;
n=MAX;
for(i=0;in;i++)
{
mat[i]=new int[i+1];
mat[i][0]=1;
mat[i][i]=1;
for(j=1;ji;j++)
mat[i][j]=mat[i-1][j-1]+mat[i-1][j];
}
for(i=0;in;i++)
{
for(j=0;jn-1;j++)
System.out.print(" ");
for(j=0;j=i;j++)
System.out.print(" "+mat[i][j]);
System.out.println();
}
}
}
执行的效果如下......