作业内容
![](https://img-blog.csdnimg.cn/img_convert/db0e5b36f6ea9e7c6e40893e00ae9faa.png)
第一次代码(没有考虑不要浪费空间)
package yanghui;
import java.util.Arrays;
import java.util.Scanner;
public class yanghui{
public static void main(String[] args){
Scanner in=new Scanner(System.in);//输入前必须有的
int n = in.nextInt();//输入一个n
int a[][];
a = new int[n][n];
// for(int i=0;i<a.length;i++)
// {
// for(int j=0;j<a[i]length.;j++)
// a[i][j]=0;//初始化
//
// }
for(int i=0;i<n;i++)
{
a[i][0]=1;
}
for(int i=1;i<n;i++)
{
for(int k=1;k<=i;k++)//因为k等于0时都为1
{
a[i][k]=a[i-1][k-1]+a[i-1][k];
}
}
for (int i = 0; i < a.length; i++) {
for (int j = 0; j <= i; j++) {
System.out.print(a[i][j] + "\t");
}
System.out.println();
}
}
}
搞定了嘎嘎快
考虑不浪费空间
参考代码参考了大佬的代码
最终代码
package yanghui;
import java.util.Scanner;
public class yanghui{
public static void main(String[] args){
Scanner in=new Scanner(System.in);//输入前必须有的
int n = in.nextInt();//输入一个n
int a[][];
a = new int[n][];//动态规划内存 设定行数
// for(int i=0;i<a.length;i++)
// {
// for(int j=0;j<a[i]length.;j++)
// a[i][j]=0;//初始化
//
// }
for(int i=0;i<a.length;i++){
a[i] = new int[i+1]; //设定列数
}
for(int i=0;i<a.length;i++){
a[i][0] = 1;
a[i][a[i].length-1] = 1; //注意:这里是a[i].length-1 !!!
}
for(int i=2;i<a.length;i++)
{
for(int k=1;k<i;k++)//因为k等于0时都为1,同时,因为动态规划内存,所以k不能=i
{
a[i][k]=a[i-1][k-1]+a[i-1][k];
}
}
for (int i = 0; i < a.length; i++) {
for (int j = 0; j <= i; j++) {
System.out.print(a[i][j] + "\t");//\t是空格的意思
}
System.out.println();
}
}
}
![](https://img-blog.csdnimg.cn/img_convert/8d79e8c493b658f46feb0dab53454de9.png)
遇见的error
Exception in thread main java.lang.NullPointerException
解决办法:详细见注释
今日收获
Java的输入方法
Scanner in=new Scanner(System.in);//输入前必须有的
int n = in.nextInt();//输入一个n
转行
System.out.println();
System.out.println();