從我從您的代碼獲得:
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