Разобрать несколько текстовых полей (Java)

1

У меня есть большое количество текстовых ящиков, которые я конвертирую из строк в целые числа и назначаю переменную. Код выглядит примерно так. Кто-нибудь знает, как упростить такой код, чтобы он не повторялся? благодаря

     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 ответ

3
Лучший ответ

Ваш код попросит использовать массив или коллекцию, например список массивов. Сделайте это, и простой цикл цикла позволит вам сделать весь этот код в одном блоке.

Например, если вы используете массив JTextField, называемый textFields, и массив int, называемый bet,...

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 text is non-numeric
       // set textfield text to ""
    }
  }
}
  • 0
    Люблю как красиво и лаконично как всегда
  • 0
    Спасибо. Работает отлично!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню