免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1804 | 回复: 2
打印 上一主题 下一主题

出现NullPointerException,到底错在哪里? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-11-13 17:57 |只看该作者 |倒序浏览
本学期刚开了JAVA,之前没接触过OO,很是头痛阿……
这程序是想产生一个随机数组,并有方法显示其平均值,但在在public void initializeArray()这里出现NullPointerException,是哪里不对呢?
public class RandomArray {
    int length;
    double randomArray[];

    public RandomArray() {
    double randomArray[] = new double[0];
    }

    public RandomArray(int length) {
    this.length = length;
    double randomArray[] = new double[length];
    }

    public void initializeArray() {
&nbsp;&nbsp;&nbsp;&nbsp;for (int i = 0; i < randomArray.length; i++) {
&nbsp;&nbsp;&nbsp;&nbsp;    randomArray[i] = Math.random() * 10;
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;}

&nbsp;&nbsp;&nbsp;&nbsp;public double arrayAverage() {
&nbsp;&nbsp;&nbsp;&nbsp;double sum = 0.0;
&nbsp;&nbsp;&nbsp;&nbsp;double average = 0.0;
&nbsp;&nbsp;&nbsp;&nbsp;for (int i = 0; i < length; i++) {
&nbsp;&nbsp;&nbsp;&nbsp;    sum += randomArray[i];
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;average = sum / length;

&nbsp;&nbsp;&nbsp;&nbsp;return average;
&nbsp;&nbsp;&nbsp;&nbsp;}
}

public class RandomArrayDemo {
&nbsp;&nbsp;&nbsp;&nbsp;public static void main(String[] args) {
&nbsp;&nbsp;&nbsp;&nbsp;RandomArray a = new RandomArray(10);
&nbsp;&nbsp;&nbsp;&nbsp;a.initializeArray();
&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("The average of the array is: " +
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a.arrayAverage());
&nbsp;&nbsp;&nbsp;&nbsp;}
}

论坛徽章:
0
2 [报告]
发表于 2009-11-13 18:06 |只看该作者
比较一下:

  1. ........
  2.     double randomArray[];

  3.     public RandomArray() {
  4.     double randomArray[] = new double[0];
  5.     }

  6.     public RandomArray(int length) {
  7.     this.length = length;
  8.     double randomArray[] = new double[length];
  9.     }
  10. ........
复制代码


  1. ........
  2.     double[] randomArray;

  3.     public RandomArray() {
  4.            randomArray = new double[0];
  5.     }

  6.     public RandomArray(int length) {
  7.          this.length = length;
  8.          randomArray = new double[length];
  9.     }
  10. ........
复制代码

论坛徽章:
0
3 [报告]
发表于 2009-11-13 19:00 |只看该作者
明白了,多谢大侠相助^_^
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP