2016-05-30 8 views
0

これはcodeを使用してテキストファイルの内容をGUIにロードしています。 私はString.split()メソッドを使って行を分割します。 いくつかの行でコンマを数えると、jComboBoxesjTextFieldsに設定したいと思います。私はjComboBoxesjTextFieldsの条件を以下のコードで切り替えるためにif/else statementを使用しようとしました。 しかし、if/elseを2つのケースで使用した場合、それぞれcommas<4commas<3となり、jComboBoxesjTextFieldsが互いに干渉していることがわかりました。 commas==3の場合、t1[1]の値がt1[2]を除き、jTextField1となる場合。if/elseカンマカウントに基づく文

このケースでは、if/elseを互いに干渉することなくどのように書くことができますか(jComboBoxesおよびjTextFields

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

カンマが私たちを数える1が最初ifが入力され、第二else ifはないだろうと言って等しい場合、ここでのロジックについて

を考えてみてください。

注文を交換したり、switch文を使用してください。

また、配列がゼロに基づいているため、範囲外の例外が発生する可能性があります。

4 commas will be in tl[3] 
+0

ありがとうございます。私はスイッチのステートメントを使用して、これは私の問題を解決しました。 – hub

関連する問題