[英]Why does my App crash after i set an array?
我的应用程序一直使用数组。 但我只在创建应用程序后设置值,其中:
public String[][] stunde = new String [6][13];
public String[][] lehrer = new String [6][13];
stunde[1][1]= "SZ";
stunde[2][1]= "Bi";
stunde[3][1]= "";
stunde[4][1]= "DG2";
stunde[5][1]= "";
lehrer[1][1]= "Gt";
lehrer[2][1]= "Pön";
lehrer[3][1]= "";
lehrer[4][1]= "Lc";
lehrer[5][1]= "";
但现在我想在之前设置这些值,以便我可以在另一种方法中使用它们。 像这样:
public String[][] stunde = {
{"SZ", "SZ", "Ku", "Ku", "M", "M", "GeL1", "EL2"},
{"Bi", "Bi", "EL2", "EL2", "Pl", "Pl","DG2","If"},
{"", "", "EL2","EL2", "","","M","Bi"},
{"DG2", "DG2", "","", "GeL1","GeL1","Pl","Ku"},
{"", "", "GeL1","GeL1", "If","If","","SZ","","","Sp","Sp"}
};
但是在我尝试了第二个代码后,我的应用程序在打开后开始崩溃。
有什么想法吗?
您的旧代码使用从一级开始的顶级数组上的索引,而不是零。 看起来您的应用程序的其余部分也依赖于该编号。
添加“假”行和列来解决问题:
public String[][] stunde = {
/*0*/ {"", "", "", "", "", "", "", "", ""},
/*1*/ {"", "SZ", "SZ", "Ku", "Ku", "M", "M", "GeL1", "EL2"},
/*2*/ {"", "Bi", "Bi", "EL2", "EL2", "Pl", "Pl","DG2","If"},
/*3*/ {"", "", "", "EL2","EL2", "","","M","Bi"},
/*4*/ {"", "DG2", "DG2", "","", "GeL1","GeL1","Pl","Ku"},
/*5*/ {"", "", "", "GeL1","GeL1", "If","If","","SZ","","","Sp","Sp"}
};
现在你的第0
行仍未使用,你想要第1
行到第5
行的应用程序的其余部分将找到之前的数据。 列编号也是如此。
注意:一旦你控制它并且应用程序不再崩溃,长期的方法是改变使用数组索引0..4
而不是1..5
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.