java二維數組楊輝三角
⑴ java編寫楊輝三角~~~
楊輝三角線的推理:
楊輝三角形性質:
每行數字左右對稱,由 1 開始逐漸變大,然後變小,回到 1。
第 n 行的數字個數為 n 個。
第 n 行數字和為 2^(n-1) 。
每個數字等於上一行的左右兩個數字之和。可用此性質寫出整個楊輝三角形。
第 n 行的第 1 個數為 1,第二個數為 1× (n-1) ,第三個數為 1× (n-1) × ( n-2) /2,第四個數為1× (n-1) × (n-2) /2× (n-3) /3…依此類推。
演算法原理:
使用一個二維數組 yh[][] 存儲楊輝三角形的數據,行和列的大小為所需要輸出的行數 Row(本程序中 Row 為 10)。
使用 for 循環使楊輝三角中除了最外層(不包括楊輝三角底邊)的數為 1 ;
使用語句 yh[i][j] = yh[i - 1][j - 1] + yh[i - 1][j] 使第 i 行第 j 列的數據等於第(i-1) 行
第(j-1)列的數據與第(i-1)行第(j)列的數據之和,即每個數字等於上一行的左右兩個數字之和。
代碼的實現
packagecom.practice;
publicclassYangHuiSanJiao
{
publicstaticvoidmain(String[]args){
int[][]a=newint[10][10];
for(intn=0;n<10;n++)
{
a[n][0]=1;
a[n][n]=1;
}
for(intn=2;n<10;n++)
{
for(intj=1;j<n;j++)
{
a[n][j]=a[n-1][j-1]+a[n-1][j];
}
}
for(intn=0;n<10;n++)
{
for(intk=0;k<2*(10-n)-1;k++)
{
System.out.print("");
}
for(intj=0;j<=n;j++)
{
System.out.print(a[n][j]+"");
}
System.out.println();
}
}
}
⑵ 用java寫一個楊輝三角形,求助(不規則二維數組怎麼定義)
前面[]要定義長度,後面可以為空,這樣就可以定義你這樣的數組了。
⑶ java數據結構列印楊輝三角形總是少個1
直接定義一個「lianxi」類,定義一個二維數組a[][];
⑷ 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-1]+array[i-1][j];
}
System.out.print(array[i][j]+" ");
}
System.out.println();
}
}
public static void main(String args[]) {
triangle(9);
}
}
(4)java二維數組楊輝三角擴展閱讀:
楊輝三角起源於中國,在歐洲這個表叫做帕斯卡三角形。帕斯卡(1623----1662)是在1654年發現這一規律的,比楊輝要遲393年。它把二項式系數圖形化,把組合數內在的一些代數性質直觀地從圖形中體現出來,是一種離散型的數與形的優美結合。
楊輝三角具有以下性質:
1、最外層的數字始終是1;
2、第二層是自然數列;
3、第三層是三角數列;
4、角數列相鄰數字相加可得方數數列。
⑸ java二維數組楊輝三角多位數對齊
可以考慮數組,也就是在把內容均衡放到數組裡面
或者教你個餿主意,在列印輸出的時候把字元串格式化,強制格式化為譬如5長度寬
⑹ java 使用二維數組輸出楊輝三角
哪裡看不懂 追問吧
⑺ Java中用二維數組輸出楊輝三角,我已經寫出代碼,求高人解答每句代碼的意思。明白以後重謝!
在包blackfire中
package Blackfire;
類名為blackfire
public class Blackfire {
/**
* @param args
主方法 程序的入口 裡面的參數數組,以後可以在dos下面調用
比如 java blackfire(參數),當然這個程序里沒有;
public static void main(String[] args) {
final類型的變數表示不希望子類修改,只能繼承.
final int a=9;
定義一個二維數組
int s[][]=new int[a][a];
畫斜邊和第一列
for(int i=0;i<a;i++)
{
s[i][0]=1;
s[i][i]=1;
}
//算出數組
for (int i=2;i<a;i++)
{
//這里改為i 把a改為i*************************************************************************
for (int j=1;j<i;j++)
{
s[i][j]=s[i-1][j-1]+s[i-1][j];
}
}
//列印數組..............
for (int i=0;i<a;i++)
{
for(int j=0;j<=i;j++)
{
System.out.print(s[i][j]+"");
}
System.out.println();
}
}
}
在星號那行我把程序修改了,這樣效率高些,其實這個程序做的就兩部,首先聲明一個 數組 ,你可以把它想成行列式 一個正方形的矩陣,行號列號為0~a-1
然後在分別畫出三角形的兩邊 也就是矩陣的第一列和斜邊,然後在一個一個循環,算出值
最後用system.out 列印出數組.......
⑻ java編寫 使用二維數組存儲楊輝三角並列印輸出。
使用二維數組存儲楊輝三角並列印輸出的Java程序如下
publicclassYangHui{
publicstaticvoidmain(String[]args){
finalintROW=5;//指定楊輝三角形的行數
inta[][]=newint[ROW+1][];
for(inti=0;i<=ROW;i++){
a[i]=newint[i+1];//指定每行的列數
}
for(inti=0;i<=ROW;i++)
for(intj=0;j<=a[i].length-1;j++){
if(i==0||j==0||j==a[i].length-1)
a[i][j]=1;
else
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
//輸出楊輝三角形
for(inti=0;i<=ROW;i++){
for(intj=0;j<=ROW-i;j++)
System.out.print(" ");
for(intj=0;j<=a[i].length-1;j++)
System.out.print(a[i][j]+" ");
System.out.println();
}
}
}
運行結果
⑼ 初學java 用一個二維數組列印楊輝三角 但是編譯總是不對 求解答
你好,java語言不能採用參數定義數組變數,
所以int[][] a=new int[n][2n-1];有問題。你可以用List 用在util包中的