读书人

java 空指针,该怎么处理

发布时间: 2013-08-04 18:26:16 作者: rapoo

java 空指针
public static void main(String args[]){
File[] f=new File[5];
f[0]=new File("C:\\Users\\阳光快车\\Documents\\MyJob\\1演示文件\\新数据\\直井A.xls");
f[1]=new File("C:\\Users\\阳光快车\\Documents\\MyJob\\1演示文件\\新数据\\直井B.xls");
f[2]=new File("C:\\Users\\阳光快车\\Documents\\MyJob\\1演示文件\\新数据\\直井C.xls");
f[3]=new File("C:\\Users\\阳光快车\\Documents\\MyJob\\1演示文件\\新数据\\直井D.xls");
f[4]=new File("C:\\Users\\阳光快车\\Documents\\MyJob\\1演示文件\\新数据\\直井E.xls");
CheckCeng a=new CheckCeng(f);
}



public class CheckCeng {
ReadJingName[] rjn;
List<Integer> list=new ArrayList<Integer>();
public CheckCeng(){

}
public CheckCeng(File[] ff){
rjn=new ReadJingName[ff.length];
System.out.println(ff.length);
for (int i = 0; i < ff.length; i++) {
int k=i;
System.out.println(ff[i]);
rjn[1].readFile(ff[i]);
list.add(rjn[i].cengMing.length);[/color]
}
findMostEL(list);
}


public int findMostEL(List<Integer> as){
// int [] intArry={3,5,7,8,3,5,5,3,7};
Map<Integer,Integer> m1=new HashMap<Integer,Integer>();
int max=0;
for(int i=0;i<as.size();i++){
if(m1.containsKey(as.get(i))){
if(m1.get(as.get(i))+1>max){
max=m1.get(as.get(i))+1;
}
m1.put(as.get(i), m1.get(as.get(i))+1);
}else{
m1.put(as.get(i), 1);
}
}
for(int i=0;i<m1.size();i++){
if(m1.get(as.get(i))==max){
System.out.println("最大值:"+as.get(i)+"出现了"+max+"次");


}
}
return 0;
}
}
红色 部分报空指针 什么原因啊 java;空指针;数组对象
[解决办法]
ReadJingName[] rjn;这个变量你值声明了,没有初始化,所以默认是null,你要像这样初始化File[] f=new File[5];
[解决办法]
rjn=new ReadJingName[ff.length];
这句话应该是初始化了,
只是我不明白为什么你
rjn[1].readFile(ff[i]);
这里直接调用rjn[1]来调用。
而不是rjn[i]

读书人网 >Java相关

热点推荐