проверка ошибок на пустое textField значений int - PullRequest
0 голосов
/ 10 апреля 2020

Вот код:

String name = txtname.getText();
         int id = Integer.parseInt(txtid.getText());
        int pass = Integer.parseInt(txtpass.getText());
         String day = Date.getSelectedItem().toString();


    if (txtname.getText().isEmpty() ||txtid.getText().isEmpty()||Date.getSelectedIndex()==0 || event == null||time==null) {


        JOptionPane.showMessageDialog(null, "you should add all information", "error", JOptionPane.ERROR_MESSAGE);



    }                                       

    else {

        ((DefaultListModel) jList1.getModel()).addElement(txtname.getText() + " " + txtpass.getText() + "(" + Date.getSelectedItem() + ") "+event+", "+time);
   try{
               Statement stmt = con.createStatement();
                stmt.execute("INSERT INTO company(name,id) VALUES('"+name+"',"+id+");");
                stmt.execute("INSERT INTO events(pass,time,status,day,companyId) VALUES("+pass+",'"+time+"','"+event+"','"+day+"',"+id+");");

               JOptionPane.showMessageDialog(this, "Record Submit");

          }catch(Exception ex){
              JOptionPane.showMessageDialog(this, ex);

             } 


    }


    this.txtname.setText(null);
    this.txtpass.setText(null);
    this.txtid.setText(null);
    this.Date.setSelectedIndex(0);
    this.jCheckBox1.setSelected(false);
    this.jCheckBox2.setSelected(false);
    this.jCheckBox3.setSelected(false);


}

Это ошибка:

java.lang.NumberFormatException: For input string: ""

Код работает, вероятно, со строкой textFields, но не работает с целочисленным textField.
Это работает, вероятно, если я удаляю:

 txtid.getText().isEmpty()

пожалуйста, покажите мне, как я могу исправить код?

1 Ответ

1 голос
/ 10 апреля 2020

Кажется, txtid.getText () возвращает "". Это верно? Строка "" не является цифрой c и не может быть проанализирована с помощью Integer.parseInt (). Одна вещь, которую вы можете сделать, это попробовать, поймать. Если выдается ошибка NumberFormatException, вы можете обработать ее соответствующим образом.

...