class OutNode
{
String Order;
String StateString;
String SignString;
String SenString;
String InputString;
}class LrTable
{
String elem;
}public class Lr1 extends WindowAdapter implements ActionListener
{
OutNode[] Out = new OutNode[20];
final int R = 13;
final int C = 10;
LrTable[] LrElem[] = new LrTable[R][C];
public void DealLrTable()//点击输入按钮时候,执行的函数
{
int j = 1;
int h = 0;
int k = j;
String[] S = ta1.getText().split("\n");
for(int i=0;i<13+1;i++)//13+1中的13是状态数目,以后可以修改
{
for(;j<=8+1+h;j++)
{
LrElem[i][k].elem = S[i].substring(j*3,j*3+3);
}
k++;
h = j;
j = j+1;
}
}}
这就是主要的相关的程序。(其他部分,不影响这,所以,没有给出)
这里,,我编译已经通过了,但是在运行的时候,老是提示LrElem[i][k].elem 没有相应的内存空间
希望,各路高手云集,来解决下这个问题先谢谢了。
{
String Order;
String StateString;
String SignString;
String SenString;
String InputString;
}class LrTable
{
String elem;
}public class Lr1 extends WindowAdapter implements ActionListener
{
OutNode[] Out = new OutNode[20];
final int R = 13;
final int C = 10;
LrTable[] LrElem[] = new LrTable[R][C];
public void DealLrTable()//点击输入按钮时候,执行的函数
{
int j = 1;
int h = 0;
int k = j;
String[] S = ta1.getText().split("\n");
for(int i=0;i<13+1;i++)//13+1中的13是状态数目,以后可以修改
{
for(;j<=8+1+h;j++)
{
LrElem[i][k].elem = S[i].substring(j*3,j*3+3);
}
k++;
h = j;
j = j+1;
}
}}
这就是主要的相关的程序。(其他部分,不影响这,所以,没有给出)
这里,,我编译已经通过了,但是在运行的时候,老是提示LrElem[i][k].elem 没有相应的内存空间
希望,各路高手云集,来解决下这个问题先谢谢了。
系统应该给出的是ArrayIndexOutOfBoundsException
但是现在系统给出点是
NullPointerException错误,但是也要谢谢yangbc(土豆块) 因为,这样,运行下去,会有数组越界
LrElem[i][k].elem没有赋于其内存空间。问哈,大家有什么好的建议,
来修改这个地方的错误吗?
le.elem="yang11";
LrElem[1][1].elem="yang10";//NullPointerException
LrElem[1][1] =le;
System.out.println("LrElem[1][1]="+LrElem[1][1]);
System.out.println("LrElem[1][1].elem="+LrElem[1][1].elem);
LrElem[1][1].elem="yang12";
System.out.println("LrElem[1][1]="+LrElem[1][1]);
System.out.println("LrElem[1][1].elem="+LrElem[1][1].elem);