今天看了書本上的楊歸三角程序?qū)懛ê?自己試著去寫,但寫完后編譯總是出現(xiàn)一個錯誤.
先看代碼:
先看代碼:
?1?public?class?YangHui{
?2?????public?static?void?main(String?args[]){
?3?????????final?int?max=10;
?4?????????int?a[][]=new?int[max][];
?5?????????for(int?i=0;i<a.length;i++){
?6?????????????int?a[i]=new?int[i+1];
?7?????????}
?8?????????a[0][0]=1;
?9?????????for(int?i=1;i<a.length;i++){
10?????????????a[i][0]=1;
11?????????????a[i][a[i].length-1]=1;
12?????????????for(int?j=1;j<a[i-1].length;j++){
13?????????????????a[i][j]=a[i-1][j-1]+a[i-1][j];
14?????????????}
15?????????}
16?????????
17?????????for(int?i=0;i<a.length;i++){
18?????????????for(int?j=0;j<a[i].length;j++)
19?????????????????System.out.print(a[i][j]+"\t");
20?????????????System.out.println();
21?????????}
22?????}
23?}
?2?????public?static?void?main(String?args[]){
?3?????????final?int?max=10;
?4?????????int?a[][]=new?int[max][];
?5?????????for(int?i=0;i<a.length;i++){
?6?????????????int?a[i]=new?int[i+1];
?7?????????}
?8?????????a[0][0]=1;
?9?????????for(int?i=1;i<a.length;i++){
10?????????????a[i][0]=1;
11?????????????a[i][a[i].length-1]=1;
12?????????????for(int?j=1;j<a[i-1].length;j++){
13?????????????????a[i][j]=a[i-1][j-1]+a[i-1][j];
14?????????????}
15?????????}
16?????????
17?????????for(int?i=0;i<a.length;i++){
18?????????????for(int?j=0;j<a[i].length;j++)
19?????????????????System.out.print(a[i][j]+"\t");
20?????????????System.out.println();
21?????????}
22?????}
23?}
JCreator返回如下錯誤信息:
--------------------------------------------------
D:\Java\JCreator\YangHui.java:6: 需要 ']'
??????????? int a[i]=new int[i+1];
????????????????? ^
1 錯誤
處理已完成。
---------------------------------------------------
開始怎么都看不出第六行有什么錯誤,郁悶半天之后看了課本,發(fā)現(xiàn)原來多了一個int.突然醒悟這個數(shù)組已經(jīng)在前面聲明過了,在這里寫int不是重復聲明嗎?......真是太粗心了,不過給偶一個深刻的教訓,一定注意不要范重復聲明數(shù)組的錯誤.
刪掉int之后編譯通過,正確的程序是這樣的:
public?class?YangHui{
????public?static?void?main(String?args[]){
????????final?int?max=10;
????????int?a[][]=new?int[max][];
????????for(int?i=0;i<a.length;i++){
????????????a[i]=new?int[i+1];
????????}
????????a[0][0]=1;
????????for(int?i=1;i<a.length;i++){
????????????a[i][0]=1;
????????????a[i][a[i].length-1]=1;
????????????for(int?j=1;j<a[i-1].length;j++){
????????????????a[i][j]=a[i-1][j-1]+a[i-1][j];
????????????}
????????}
????????
????????for(int?i=0;i<a.length;i++){
????????????for(int?j=0;j<a[i].length;j++)
????????????????System.out.print(a[i][j]+"\t");
????????????System.out.println();
????????}
????}
}
????public?static?void?main(String?args[]){
????????final?int?max=10;
????????int?a[][]=new?int[max][];
????????for(int?i=0;i<a.length;i++){
????????????a[i]=new?int[i+1];
????????}
????????a[0][0]=1;
????????for(int?i=1;i<a.length;i++){
????????????a[i][0]=1;
????????????a[i][a[i].length-1]=1;
????????????for(int?j=1;j<a[i-1].length;j++){
????????????????a[i][j]=a[i-1][j-1]+a[i-1][j];
????????????}
????????}
????????
????????for(int?i=0;i<a.length;i++){
????????????for(int?j=0;j<a[i].length;j++)
????????????????System.out.print(a[i][j]+"\t");
????????????System.out.println();
????????}
????}
}
?