请教一个Java的调试方案,错误原因.
我写了一个程序,含有下面的代码:
打印的结果如下:

其中上文的“TeacherGrade”是一个“HashMap的实例”,他的键为一个“Integer类型的变量”,他的值为一个我自定义的“WorkingSysMemDS”类型,本WorkingSysMemDS类型的代码如下:
上面的打印语句中的代码“TeacherGrade”,是一个HashMap,他的init部分的代码如下:
我已经将上面的TeacherGrade中的数据结构,进行了init了呀?
为什么还会报错呢?
上面打印的语句语句中的MyFriIntegerNum这个变量的值为1,MyIndexInteger的值为2.
希望能够得到高手的相助:
为什么我打印语句出的结果,会有:
最后一行为“NullPointerException”,而倒数第二行代码打印的结果为:
null
值?
希望高手帮帮忙!!
这个错误怎么调?
这个错误是什么原因?
System.out.println("ChatServer.TeacherGrade.get(MyFriIntegerNum) "+ChatServer.TeacherGrade.get(MyFriIntegerNum));
System.out.println("ChatServer.TeacherGrade.get(MyFriIntegerNum).myclientds "+ChatServer.TeacherGrade.get(MyFriIntegerNum).myclientds);
System.out.println("ChatServer.TeacherGrade.get(MyFriIntegerNum).myclientds.get(MyIndexInteger) "+ChatServer.TeacherGrade.get(MyFriIntegerNum).myclientds.get(MyIndexInteger));
System.out.println("ChatServer.TeacherGrade.get(MyFriIntegerNum).myclientds.get(MyIndexInteger).MyState "+ChatServer.TeacherGrade.get(MyFriIntegerNum).myclientds.get(MyIndexInteger).MyState)打印的结果如下:

其中上文的“TeacherGrade”是一个“HashMap的实例”,他的键为一个“Integer类型的变量”,他的值为一个我自定义的“WorkingSysMemDS”类型,本WorkingSysMemDS类型的代码如下:
public class WorkingSysMemDS {
HashMap<Integer,MyUserDS> myuserds = new HashMap<Integer,MyUserDS>();
HashMap<Integer,MyUserDS> myclientds = new HashMap<Integer,MyUserDS>();
Integer MyUserKeyNum = -1;
byte MyUserGrade = 0;
boolean MyState = true;
public Integer getMyUserKeyNum() {
return MyUserKeyNum;
}
public void setMyCodestate(boolean state){
MyState = state;
}
public void setMyUserKeyNum(Integer OurUserKeyNum) {
MyUserKeyNum = OurUserKeyNum;
}
public byte getMyUserGrade() {
return MyUserGrade;
}
public void setMyUserGrade(byte UserGrade) {
MyUserGrade = UserGrade;
}
public WorkingSysMemDS(Integer MyUserKey,byte i,boolean state,String MyFriRole){
MyUserKeyNum = MyUserKey;
MyUserGrade = i;
MyState = state;
if(MyFriRole.equals("Cus")){
myuserds.put(MyUserKeyNum, new MyUserDS(MyUserKeyNum,MyUserGrade,MyState));
}else{
myclientds.put(MyUserKeyNum, new MyUserDS(MyUserKeyNum,MyUserGrade,MyState));
}
}
}上面的打印语句中的代码“TeacherGrade”,是一个HashMap,他的init部分的代码如下:
for(Integer i = 0;i<203;i++){
for(Integer j= 0;j<203;j++){
TeacherGrade.put(i, new WorkingSysMemDS(j,(byte)1,false,"Mem"));
}
}我已经将上面的TeacherGrade中的数据结构,进行了init了呀?
为什么还会报错呢?
上面打印的语句语句中的MyFriIntegerNum这个变量的值为1,MyIndexInteger的值为2.
希望能够得到高手的相助:
为什么我打印语句出的结果,会有:
最后一行为“NullPointerException”,而倒数第二行代码打印的结果为:
null
值?
希望高手帮帮忙!!
这个错误怎么调?
这个错误是什么原因?
...全文
相关推荐
java学习中调试过程中经常遇到的错误
w我们在进行java学习中经常遇到各种错误,对大家来说谅解调试过程中的错误能够加快我们的调试进度!
java程序代码不能运行的几个基本原因
在开发java时经常会出现以下错误,而开发工具本身世检查不出来的!在这有几个可能的原因
Java语言程序的错误类型和产生原因.pdf
Java语言程序的错误类型和产生原因.pdf
Java xml出现错误 javax.xml.transform.TransformerException: java.lang.NullPointerException
主要介绍了Java xml出现错误 javax.xml.transform.TransformerException: java.lang.NullPointerException的相关资料,需要的朋友可以参考下
java常见错误列表
描述java常见错误,帮助初学者快速定位错误信息。


Java SE
