2 baidu 34135035 baidu_34135035 于 2016.04.16 23:03 提问

NullPointerException

public class RandomArray {
private int arraySize;
private int sum;
private double average;
private int[] array; // instance variable
/**
* Constructor
* @param size The size of the array.
*/
public RandomArray(int size) {
// write your code here
arraySize = size;
int[] array = new int[arraySize];
for (int i = 0; i < arraySize; i++) {
array[i] = (int) Math.random()*10;
}
}

/**
 *  A method to print the array elements.
 */
public void printArray() {
    // write your code here
    for(int i = 0; i < arraySize; i++)
        System.out.print(array[i]);
}

/**
 *  A method to calculate the sum of all elements.
 *  @return  The sum.
 */
public int calcSum() {
    // write your code here
    sum = 0;
    for(int i = 0; i < arraySize; i++)
        sum += array[i];
    return sum;
}

/**
 *  A method to calculate the mean (or average) of all elements.
 *  @return  The mean.
 */
public double calcMean() {
    // write your code here
    average = this.calcSum() / arraySize;
    return average;
}

/**
 *  A main method to test.
 */
public static void main(String[] args) {
    // Check to see if the user has actually sent a parameter to the method.
    if (args.length != 1) {
        System.out.println("Usage: java RandomArray <NUM>. Example: java RandomArray 5");
    System.exit(-1);
}

// Create an instance of the class.
RandomArray test = new RandomArray(Integer.parseInt(args[0]));

// Print the array.
test.printArray();

// Calculate the sum of all the values in the array and print it.
System.out.println("Sum: " + test.calcSum());

// Calculate the mean of all the values in the array and print it.
System.out.println("Mean: " + test.calcMean());
}

}

错误报告
Exception in thread "main" java.lang.NullPointerException
at RandomArray.printArray(RandomArray.java:35)
at RandomArray.main(RandomArray.java:74)

3个回答

caozhy
caozhy   Ds   Rxr 2016.04.16 23:07

sum += array[i];
这里array在哪里定义的?哪里初始化的?

caozhy
caozhy   Ds   Rxr 2016.04.16 23:09

你的程序args[0]是什么,你有传命令行参数给程序么?

参照 http://blog.csdn.net/randomnet/article/details/7416456
这里的做法,给一个参数

baidu_34135035
baidu_34135035 回复baidu_34135035: 已解决,多谢
大约 2 年之前 回复
baidu_34135035
baidu_34135035 array定义在Random类里,命令行参数给了
大约 2 年之前 回复
CSDNXIAOD
CSDNXIAOD   2016.04.16 23:12

onStartCommand NullPointerException
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
java 空指针异常(NullPointerException)
java 空指针异常(NullPointerException) java 空指针异常(NullPointerException)
DateContainer
DateContainer NullPointerException
关于短路运算,关于短路运算
NullPointerException大概是最常见的RuntimeException
莫名其妙的NullPointerException
调用方法时,包装类自动拆箱导致NullPointerException。
NullPointerException的例子、原因
1、注意异常捕捉的顺序(从具体到模糊,即从子类异常到父类异常)          异常的分类参考:http://blog.csdn.net/woshixuye/article/details/8230407 2、空指针异常出现的原因:调用了null对象的方法或者属性,           例如   user  u=null;    u.getName();//   对象u是一个null值
NullpointerException的解决方法
当出现这种问题时是因为自己设的变量为空值而调用了方法,需要给变量赋值解决。    比如下面这行程序   public static void main(String[] args){         String str1="abc";         String str2=null;        System.out.println(str1.equals(str2));
小心!你的代码里有NullPointerException!
NullPointerException作为java程序员最常见的错误, 被亲切地称为NPE. NPE往往能逃过javac的编译期间的语法检查, 在程序运行时才发生. 因此, 运行程序前, NPE很难被检查出来, 危害极大.我个人总结了最容易发生NPE的几种情况, 编译过程都不会报错, 因此需要特别注意: NPE原因 发生频率(0-10) 危险程度(0-10) 解决方案 备注
NullPointerException原因及解决办法
为什么会产生空指针异常,我们先来看一下JDK1.6的APINullPointerException (Java Platform SE 6)public class NullPointerException extends RuntimeExceptionnull   当应用程序试图在需要对象的地方使用时,抛出该异常。这种情况包括:    * 调用 null 对象的实例
hive报错FAILED: NullPointerException null原因
hsql语句错误,请检查hive sql 语句
List<>引起的nullpointerexception问题
代码如下: public class User { public List allMonsters; public User throws ParseException, IOException, JSONException{ Monster monster; for(int i=0;i monster=new Monster(UserMonsterList.getString(i