package myproject;
import java.lang.reflect.Array;
import java.util.Arrays;
public class Poetry {
public static void main(String[] args)
{
int a[][]=new int [10][];
for(int i=0;i<10;i++)
{
Arrays.fill(a[i], 1);
}
for(int k=3;k<10;k++)
for(int i=1;i<k-1;i++)
{
a[k][i]=a[k-1][i-1]+a[k-1][i];
}
for(int i = 0;i<10;i++)
{
for(int j=0;j<a[i].length;j++)
{
System.out.print(" "+(a[i][j]));
}
System.out.print("\n");
}
}
}
有问题,int a[][]=new int [10][];是二维数组,一维的大小没指定。
代码修改如下:
import java.util.Arrays;
public class Poetry {
public static void main(String[] args)
{
int a[][]=new int [10][10];
for(int i=0;i<10;i++)
{ //a[i]=new int[10];
Arrays.fill(a[i], 1);
}
for(int k=3;k<10;k++)
for(int i=1;i<k-1;i++)
{
a[k][i]=a[k-1][i-1]+a[k-1][i];
}
for(int i = 0;i<10;i++)
{
for(int j=0;j<a[i].length;j++)
{
System.out.print(" "+(a[i][j]));
}
System.out.print("\n");
}
}
}
https://blog.csdn.net/fengqilai112/article/details/100667279
看这个对你有没有帮助
初始化的二维数组,内部数组没有初始化,所以在第一个for循环赋值时获取到的a[i]是空的无法赋值。
解决:将 int a[][]=new int [10][]; 修改为 int a[][] = new int[10][10];