listen--zz
2017-03-06 14:59
采纳率: 100%
浏览 2.2k
已采纳

java二维数组空指针异常

java二维数组有空指针异常

 public class LotteryArray {
   public static void main(String[] args) {
    final int NMAX = 10;

    int[][] odds = new int[NMAX + 1][];
    for (int n = 0; n < NMAX; n++)
        odds[n] = new int[n + 1];

    for (int n = 0; n < odds.length; n++)
        for (int k = 0; k < odds[n].length; k++) {
            int la = 1;
            for (int i = 1; i <= k; i++)
                la = la * (n - i + 1) / i;
            odds[n][k] = la;
        }
    for (int[] row : odds) {
        for (int odd : row)
            System.out.printf("%4d", odd);
        System.out.println();
       }
    }
 }
  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • threenewbee 2017-03-06 15:05
    已采纳

    int[][] odds = new int[NMAX + 1][]; 数组最大下标NMAX
    for (int n = 0; n < NMAX; n++) 这里只循环到NMAX-1,所以最后一个是null

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • qq_22439003 2017-03-06 15:16

    应该是+1 循环的最后一个没有初始化,所以报空指针

    评论
    解决 无用
    打赏 举报
  • 喝醉酒的心跳 2019-08-19 11:48

    谁知道判断数组时为什么用null而不用数组的属性length=0呢?

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题