主题:[讨论]难倒CSDN所有人的List错误
void List()
{
tdb=new TeamDB("team1");System.out.println("==================(1)");
if(tdb.getNumber()==0)
{
tdb.addNewTeam();
}
strArray = new String[tdb.getNumber()];System.out.println("==================(2)");
RecordEnumeration re = null;
try {System.out.println("==================(3)");
re = this.tdb.enumerate();
} catch (RecordStoreNotOpenException e) {
e.printStackTrace();
}
re.reset();System.out.println("==================(4)");
while (re.hasNextElement())
{
int i = 0;
String tRecord=null;
try {
tRecord = tdb.read(re.nextRecordId());System.out.println("==================(5)"+tRecord);
} catch (InvalidRecordIDException e) {
e.printStackTrace();
}
if(Time.give(Team.getyear(tRecord),(Team.getmonth(tRecord)-1),Team.getday(tRecord),Team.getorder(tRecord)))
{
strArray[i] = Team.getyear(tRecord)+" "+Team.getmonth(tRecord)+" "+Team.getday(tRecord);
}System.out.println("==================(6)"+strArray[i]+" length:"+strArray.length);
i += 1;
}
System.out.println("==================(x)");
mainL=new List("happyWord",Choice.IMPLICIT,strArray,imageArray);System.out.println("==================(7)");
mainL.addCommand(exit);
mainL.addCommand(addTeam);
mainL.addCommand(seekTeam);
mainL.addCommand(help);
mainL.addCommand(about);
this.mainL.setCommandListener(this);
}
这个函数调用了两次
第一次正常:
==================(1)
==================(2)
==================(3)
==================(4)
==================(5)2009Y1M16D0
==================(6)2009 1 16 length:1
==================(x)
==================(7)
第二次出现空指针错误:
==================(1)
==================(2)
==================(3)
==================(4)
==================(5)2009Y1M16D0
==================(6)2009 1 16 length:2
==================(5)2009Y1M16D0
==================(6)2009 1 16 length:2
==================(x)
我觉得List不应该有错误吧,这是怎么回事呢
{
tdb=new TeamDB("team1");System.out.println("==================(1)");
if(tdb.getNumber()==0)
{
tdb.addNewTeam();
}
strArray = new String[tdb.getNumber()];System.out.println("==================(2)");
RecordEnumeration re = null;
try {System.out.println("==================(3)");
re = this.tdb.enumerate();
} catch (RecordStoreNotOpenException e) {
e.printStackTrace();
}
re.reset();System.out.println("==================(4)");
while (re.hasNextElement())
{
int i = 0;
String tRecord=null;
try {
tRecord = tdb.read(re.nextRecordId());System.out.println("==================(5)"+tRecord);
} catch (InvalidRecordIDException e) {
e.printStackTrace();
}
if(Time.give(Team.getyear(tRecord),(Team.getmonth(tRecord)-1),Team.getday(tRecord),Team.getorder(tRecord)))
{
strArray[i] = Team.getyear(tRecord)+" "+Team.getmonth(tRecord)+" "+Team.getday(tRecord);
}System.out.println("==================(6)"+strArray[i]+" length:"+strArray.length);
i += 1;
}
System.out.println("==================(x)");
mainL=new List("happyWord",Choice.IMPLICIT,strArray,imageArray);System.out.println("==================(7)");
mainL.addCommand(exit);
mainL.addCommand(addTeam);
mainL.addCommand(seekTeam);
mainL.addCommand(help);
mainL.addCommand(about);
this.mainL.setCommandListener(this);
}
这个函数调用了两次
第一次正常:
==================(1)
==================(2)
==================(3)
==================(4)
==================(5)2009Y1M16D0
==================(6)2009 1 16 length:1
==================(x)
==================(7)
第二次出现空指针错误:
==================(1)
==================(2)
==================(3)
==================(4)
==================(5)2009Y1M16D0
==================(6)2009 1 16 length:2
==================(5)2009Y1M16D0
==================(6)2009 1 16 length:2
==================(x)
我觉得List不应该有错误吧,这是怎么回事呢