解析几个文本框(Java)

时间:2014-07-01 01:33:49

标签: java

我有大量的文本框,我从字符串转换为整数并分配变量。代码如下所示。有没有人知道如何简化这样的代码所以它不是那么重复?感谢

     if (text_1.getText().trim().equals("")) {
        bet1 = 0;
     }else{
            bet1 = Integer.parseInt(text_1.getText());
     }

     if (text_2.getText().trim().equals("")) {
        bet2 = 0;
     }else{
            bet2 = Integer.parseInt(text_2.getText());
     }

     if (text_3.getText().trim().equals("")) {
        bet3 = 0;
     }else{
            bet3 = Integer.parseInt(text_3.getText());
     }

     if (text_4.getText().trim().equals("")) {
        bet4 = 0;
     }else{
            bet4 = Integer.parseInt(text_4.getText());
     }

     if (text_5.getText().trim().equals("")) {
        bet5 = 0;
     }else{
            bet5 = Integer.parseInt(text_5.getText());
     }

1 个答案:

答案 0 :(得分:3)

您的代码正在使用数组或集合(如数组列表)。这样做,一个简单的for循环允许你在一个块中完成所有代码。

例如,如果你正在使用一个名为textFields的JTextField数组和一个名为bet的int数组,......

for (int i = 0; i < textFields.length; i++) {
  String value = textFields[i].getText().trim();
  if (value.isEmpty()) { 
    bet[i] = 0;
  } else {
    try {
       bet[i] = Integer.parseInt(value);
    } catch (NumberFormatException nfe) {
       // JOptionPane to notify user that textfield i's text is non-numeric
       // set textfield's text to ""
    }
  }
}