【发布时间】:2017-07-15 04:13:08
【问题描述】:
由于某种我不明白的原因,我在
处得到了一个超出范围的数组字符串 ans1 = 输入[1]; 此代码的目的是通过将单个输入字符串拆分为多个部分并将它们分别添加到输入和输出数组中,从而将问题和答案添加到 2 个不同的数组中。我知道什么是越界数组,只是不明白为什么 split 不能正常工作。
sl=tf.getText();
boolean tempsave = false;
if (sl.equalsIgnoreCase("!tempadmin"))
{
int ends = sIndata.length;
int endss = resdata.length;
int endends =0;
int endendss =0;
ta.append("adding options\n");
do{
String sp = tf.getText();
if (sl.equalsIgnoreCase("kill"))
{
tempsave = true;
};
String [] inputs = sp.split(";");
String qs1 = inputs[0];
String ans1 = inputs[1];
String[] qs2= qs1.split(":");
String[] ans2= ans1.split(":");
for (int qusilada = 0; qusilada != qs2.length; qusilada++){
sIndata[ends + 1][endends + qusilada] = qs2[qusilada];
resdata[endss + 1][endendss + qusilada] = ans2[qusilada];
ends++;
endss++;
}
sp = "";
}while (tempsave == false);
ta.append("tempadmin closed");
};
【问题讨论】:
-
可能是您的
sp不包含任何值或不包含;
标签: java arrays split do-while