import java.io.*;
public class YaHui {
public static void main(String[] args) throws IOException {
// TODO 自动生成方法存根
for(int i=0;i<10;i++){
int a[][]= new int [i+1][i+1];
for(int j=0;j<i;j++){
a[i][j]=1;
a[i][i-1]=1;
a[i][j]=a[i-1][j]+a[i-1][j-1];
System.out.print(a[i][j]);
}
System.out.println();//这是第16行
}
``
}}Exception in thread "main" java.lang.Error: 无法解析的编译问题:
语法错误,将“}”插入到完整 块 中 at YaHui.main(YaHui.java:16)
我找了好久没看出毛病 请高手帮帮忙
// TODO 自动生成方法存根
for (int i = 0; i < 10; i++) {
int a[][] = new int[i + 1][i + 1];
for (int j = 0; j < i; j++) {
a[i][j] = 1;
a[i][i - 1] = 1;
a[i][j] = a[i - 1][j] + a[i - 1][j - 1];
System.out.print(a[i][j]);
}
System.out.println();// 这是第16行
} }
}
这少这句话有问题。从上面的循环可以判断j是可以去到0的,那肯定存在数据越界的问题。
import java.util.*;public class MyUnknowhandle {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入杨辉三角的阶数:");
int n = sc.nextInt();
int[] a = { 1 };
System.out.println(a[0]);
int m = 3;
for (int i = 2; i <= n; i++, m++) {
int[] b = new int[m];
for (int j = 0; j < m; j++) {
if (j == 0 || j == m - 1) {
b[j] = 1;
} else {
if (i == 2) {
b[j] = 2;
} else {
b[j] = a[j - 1] + a[j];
}
}
System.out.print(b[j] + " ");
}
a = new int[b.length];
System.arraycopy(b, 0, a, 0, b.length);
System.out.println();
}
}
}
运行结果如下:
请输入杨辉三角的阶数:
10
1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
1 10 45 120 210 252 210 120 45 10 1