从我从您的代码获得:
public class Teams{
String[] P={"Hi","there","you"};
}
另一类
//Inside some function in another class
Teams tm=new Teams();
for(int j=0;j<=tm.P.length; j++){
textfield1.setText(tm.P[j]);
textfield2.setText(tm.P[j+1]);
}
在Teams
类变量P
在下面的j
变化,从价值的代码片段长度3.使0至3.在j
的值为2的情况下,行
textfield2.setText(tm.P[j+1]);
应该丢弃ArrayIndexOutOfBoundsException
作为索引j+1
即3不存在P
。
而且当的P
值为3条两者线
textfield1.setText(tm.P[j]);
textfield2.setText(tm.P[j+1]);
应抛出ArrayIndexOutOfBoundsException
作为P
的索引是3用于第二行的第一行和4。
现在既然你已经在你的评论中明确表示没有异常抛出,我觉得这段代码必须位于一个try - catch
块内,它可以捕获Exception
个对象。这也应该解释为什么这种行为显示P
在两个文本字段中的最后一个值。
当j
是1时,textfield2.setText(tm.P[j+1])
该字段的文本被设置为最后一个元素"you"
。现在在下一个循环中,当j
达到值2时,第一个文本字段textfield2
被设置为最后一个元素"you"
。但在下一行中抛出异常,因此该行不会被执行,所以textfield2
的文本仍然为you
。
最后当j
是3第一线本身抛出异常,以便不执行第一行后的代码,都textfield1
和textfield2
具有文本值存储在其中"you"
,这是显示的内容和结果的问题你已经突出显示。
除了你的问题不清楚,这段代码甚至不会编译。 –
发布完整的代码。你为什么要迭代整个列表/数组? – Rehman
什么是“团队”类,什么是“团队.P”? – Blip