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) {
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() {
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() {
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() {
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());
}
``````

}

at RandomArray.printArray(RandomArray.java:35)
at RandomArray.main(RandomArray.java:74)

3个回答

caozhy      2016.04.16 23:07

sum += array[i];

caozhy      2016.04.16 23:09

baidu_34135035 回复baidu_34135035: 已解决，多谢

baidu_34135035 array定义在Random类里，命令行参数给了

CSDNXIAOD   2016.04.16 23:12

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