初学,编写杨辉三角时遇到的问题
原来是 i + 1 能正常运行,但是改成 ++i 就不能正常运行了
会输出一个0,并提示空指针异常
" (前)++ :先自增1,后运算 "不应该等价于直接加 1 吗?
实在无法理解这个问题出现的原因,希望得到您的解答,谢谢!
代码
import java.util.Scanner;
public class test {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入行数");
int line = scan.nextInt();
int[][] yang = new int[line][];
for(int i = 0; i < yang.length; i++) {
yang[i] = new int[++i]; //问题出现在这里
}
for (int i = 0; i < yang.length; i++) {
for(int j = 0; j < yang[i].length; j++) {
System.out.print(yang[i][j]+" ");
}
System.out.println();
}
}
}
运行结果及报错内容:
0
Exception in thread "main" java.lang.NullPointerException
at test.main(test.java:14)