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)