public class Main {
public static double average(double[] array) {
double temp = 0;
double sum = 0;
for (int i = 0; i < array.length; i++) {
sum = sum + array[i];
}
temp = sum / array.length;
return temp;
}
public static void main(String[] args) {
File file = new File("C:/Users/15002/Desktop/文件/gongzuo.xlsx");
ArrayList<ArrayList<Object>> result = ExcelUtil.readExcel(file);
ArrayList<Double> result2 = null;
double rand[] = new double[50];
double av;
java.util.Random r = new java.util.Random();
for (int j = 0; j < 10000; j++) {
for (int i = 0; i < 50; i++) {
try {
rand[i] = Double.valueOf(result.get(r.nextInt(62080)).get(0).toString()).doubleValue();
} catch (NumberFormatException e) {
e.printStackTrace();
}
System.out.println(rand[i]);
av = average(rand);
System.out.print("平均值为:" + av);
result2.add(av);
}
}
}
}
运行结果:
12.0
Exception in thread "main" 平均值为:0.24java.lang.NullPointerException
at Main.main(Main.java:35)
result2空指针了
ArrayList result2 = null;改一下
ArrayList<Double> result2 = new ArrayList<Double>();
ArrayList result2 = null;
改为
ArrayList result2 = new ArrayList ;
result2 空指针没毛病
ArrayList result=null;程序运行到这儿找不到相应的对象会报空指针异常
空指针异常, 一般遇到这种问题,就debug看看,程序运行到出错的地方,哪里的数据为null了
先加个判断是否为空 arrayList != null&&arrayList.size() != 0
result2 空指针没毛病
result2 空指针没毛病
result2 空指针没毛病
这种问题要学debug调试,比网上提问,解决来的快呀
在界面上把变量的值进行输出!
你的arraylist没有new,是不能朝里面add值的;NullPointerException就是告诉你是空指针异常
ArrayList result2 = null;
改为
ArrayList result2 = new ArrayList ;
ArrayList result2 = null; 错了