您的位置首页百科知识

新手学JAVA实现杨辉三角

新手学JAVA实现杨辉三角

的有关信息介绍如下:

新手学JAVA实现杨辉三角

/*

谅解一下,自己明明排版的很好,复制过来就又这样了。。底下上图

菜鸟新手实现如下扬辉三角,控制台输入输出,主函数调用类

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

.....

被调用类:

一、定义二维数组

二、判断每行前空格

三、固定值每行第一位,每行最后一位值,并赋予二维数组

四、使用二维数组相加得到每行除第一位与最后一位的中间值,并赋予二维数组

*/

import java.util.*;//导包

class Demo//主类

{

public static void main(String[] args)//创建一个对象用来调用,实现控制台输入输出,因为输入的是字符,所以a.show调用对象的时候强调转换一下。

{

YangHui a = new YangHui();

Scanner s = new Scanner(System.in);

System.out.println("请输入一个数字代表行数:");

String str = s.nextLine();

a.show(Integer.valueOf(str));

}

}

class YangHui//对象调用类名

{

public void show(int n)

{

int[][] s = new int[n+1][n+1];//定义二维数组,因为是n行,所以定义n+1,防止溢出(循环从1开始)

for (int x=1;x<=n ;x++ )//此大循环用于控制行数

{

for (int z=1;z<=n+1-x ;z++ )//此小循环用于控制每行前面的空格数,越往后越不对齐,自己调整一下

{

System.out.print(" ");

}

for (int y=1;y<=x ;y++ )//此循环用于控制每行个数

{

if (y==1)//固定每行第一个数的值,并赋予二维数组,并打印

{

System.out.print(y+" ");

s[x][y]=1;

}

else if(y==x)//固定每行最后一个数的值,并赋予二维数组,并打印

{

System.out.print(1+" ");

s[x][y]=1;

}

else//用于打印出除开每行第一个与最后一个的中间数值,并赋予二维数组

{

System.out.print(s[x-1][y-1]+s[x-1][y]+" ");//每一行的中间数值,都是由上一行的s[x-1][y-1]+s[x-1][y]相加而得到,并赋予二维数组

s[x][y]=s[x-1][y-1]+s[x-1][y];

}

}

System.out.println();//换行

}

}

}

//越往后,行数越大,可能数字对的就不那么整齐了,自己调整一下。