2016-05-30 178 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