2016-05-30 62 views
0

我加載文本文件內容使用此code到GUI。 我用String.split()方法分割線。 現在,通過一些線計算逗號我想將它們設置爲jComboBoxesjTextFields。我試圖用if/else statement在下面的代碼中切換jComboBoxesjTextFields的條件。 但是當我使用if/else兩種情況,即commas<4commas<3,我發現jComboBoxesjTextFields互相干擾。 在commas==3,jTextField1的情況下得到的值爲t1[1],除了t1[2]如果基於逗號/ else語句數

請問我該怎麼寫if/else這種情況下互不干擾(jComboBoxesjTextFields)?

String[] t1 = authors.toString().split(","); 

     int commas = 0; 
    for(int i = 0; i < authors.toString().length(); i++) { 
    if(authors.toString().charAt(i) == ',') commas++; 

    if(commas<4){ 
    jcb1.setSelectedItem(t1[0]); 

    jTextField1.setText(t1[1]); 

    jTextField2.setText(t1[4]); 
} 
    else if(commas<3){ 
    jcb1.setSelectedItem(t1[0]); 

    jTextField1.setText(t1[2]); 

    jTextField2.setText(t1[3]);   
}     
} 
     System.out.println(commas); 

回答

0

想想這裏的邏輯,

如果算上逗號我們等於說那麼第一個if將進入1和第二else if不會。

嘗試換周圍的順序或使用switch語句。

而且你會因爲數組是從零開始得到一個出界異常。

4 commas will be in tl[3] 
+0

謝謝你的回覆。我用switch語句,這解決了我的問題。 – hub