amitbidwai
amitbidwai

Reputation: 21

number format exception

when i am saving the data at that time when i enter mobile no like 1234567891 it is saving properly but when i insert random mno as 4342432435 it giving error i.eException in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: "4342432435" my code is:

  int len2;
        String temp2;
        int len1;
        int len;
        String temp,temp1;

         int regno= Integer.parseInt(cbregn.getSelectedItem().toString());
         if(cbregn.getSelectedItem().toString().equals("")){
         JOptionPane.showMessageDialog(null," SELECT THE REGISTRATION NO ");
 return;
        }


//          int date=Integer.parseInt(tdate.getText());
//          if(tdate.getText().equals("")){
//          JOptionPane.showMessageDialog(null," ENTER THE DATE ");
//          return;
//    }
//         String date=tdate.getText();
//         if(date.equals(""))
//         JOptionPane.showMessageDialog(null," ENTER THE DATE ");



        String nm= cbnm.getSelectedItem().toString();
        if(nm.equals("")){
        JOptionPane.showMessageDialog(null," ENTER THE NAME ");
 return;
        }


        String place=tfplace.getText();
        if(place.equals("")){
        JOptionPane.showMessageDialog(null," ENTER THE NATIVE PLACE ");
 return;
        }



        String kul=tfkul.getText();
        if(kul.equals("")){
        JOptionPane.showMessageDialog(null," ENTER THE NAME OF KUL ");
 return;
        }

        String gotra=tfgotra.getText();
        if(gotra.equals("")){
        JOptionPane.showMessageDialog(null," ENTER THE GOTRA NAME ");
 return;
        }

        String kswami=tfswami.getText();
        if(kswami.equals("")){
        JOptionPane.showMessageDialog(null," ENTER THE KULSWAMI NAME ");
 return;
        }

        String raddr=taraddr.getText();
        if(raddr.equals("")){
        JOptionPane.showMessageDialog(null," ENTER THE RESIDENSIAL ADDRESS ");
 return;
        }

        int pincode=Integer.parseInt(tfpcd.getText());
//        if(tfpcd.getText().equals(""))
//        JOptionPane.showMessageDialog(null," ENTER THE PINCODE ");
//        String pincode= tfpcd.getText();
//        if(pincode.equals(""))
//        JOptionPane.showMessageDialog(null," ENTER THE PINCODE ");

       // temp1=tfpcd.getText();
//        if(temp1.equals("")) {
//            JOptionPane.showMessageDialog(null," ENTER THE PIN CODE ");
//            return;
//        }
        len1 = tfpcd.getText().length();
        if(len1!=7) {
            JOptionPane.showMessageDialog(null,"Enter The 7 Digit Pin Code","Error",JOptionPane.ERROR_MESSAGE);
        return;
        }

         int stdcd=Integer.parseInt(tfstdcode.getText());
         if(tfstdcode.getText().equals("")){
         JOptionPane.showMessageDialog(null," ENTER THE STD CODE ");
 return;
        }


        int tele=Integer.parseInt(tftele.getText());
       // if(tftele.getText().equals(""))
           // JOptionPane.showMessageDialog(null," ENTER THE TELEPHONE NO ");

       // temp2=tftele.getText();
//        if(temp2.equals("")){
//        JOptionPane.showMessageDialog(null," ENTER THE TELEPHONE NO ");
//         return;
//        }
        len2 = tftele.getText().length();
        if(len2!=7){
        JOptionPane.showMessageDialog(null,"Enter The 7 Digit Telephone No","Error",JOptionPane.ERROR_MESSAGE);
        return;
        }





        int mno=Integer.parseInt(tfmno.getText());
//        if(tfmno.getText().equals("")){
//        JOptionPane.showMessageDialog(null," ENTER THE MOBILE NO ");
//        return;
       // }

        //temp=tfmno.getText();
        //if(tfmno.getText().equals("")) {
      //JOptionPane.showMessageDialog(null," ENTER THE MOBILE NO ");
//         return;
//        }
            len = tfmno.getText().length();
            if(len!=10) {
            JOptionPane.showMessageDialog(null,"Enter The 10 Digit Mobile No");
             return;
            }


        String email=tfemail.getText();
        if(email.equals("")){
        JOptionPane.showMessageDialog(null," ENTER THE EMAIL");
 return;
        }
        if(email.equals("")) {
            tfemail.setText("-");

        } else // check if it is a valid email-id
        {
            //for(int cnt=0;cnt<temp.length();cnt++)
            //{
            int ind = email.indexOf("@");
            if (ind != -1) { } else {
                JOptionPane.showMessageDialog(null,"Invalid Email Id","Error",JOptionPane.ERROR_MESSAGE);
                tfemail.setText("");
                tfemail.requestFocus();
                return;
            }
            //}
        }
        String website=tfweb.getText();
        if(website.equals("")){
        JOptionPane.showMessageDialog(null," ENTER THE WEBSITE ");
 return;
        }
        if(website.equals("")) {
            tfweb.setText("-");
            //return;
        } else // check if it is a valid email-id
        {
            //for(int cnt=0;cnt<temp.length();cnt++)
            //{
            int ind = website.indexOf("www");
            if (ind != -1) { } else {
                JOptionPane.showMessageDialog(null,"Invalid Website","Error",JOptionPane.ERROR_MESSAGE);
                tfweb.setText("");
                tfweb.requestFocus();
                return;
            }
            //}
        }
        String education=tfedu.getText();
        if(education.equals("")){
        JOptionPane.showMessageDialog(null," ENTER THE EDUCATION DETAILS");
 return;
        }

        String branch=tfbrch.getText();
        if(branch.equals("")){
        JOptionPane.showMessageDialog(null," ENTER THE BRANCH NAME ");
 return;
        }


//           int brthdt=Integer.parseInt(tfbdt.getText());
//         if(tfbdt.getText().equals("")){
////        String brthdt=tfbdt.getText();
////        if(brthdt.equals(""))
//           JOptionPane.showMessageDialog(null," SELECT THE BIRTH DATE");
// return;
    //}


        String bloodgroup=(String)cbbldgrp.getSelectedItem();
        if(bloodgroup.equals("")){
        JOptionPane.showMessageDialog(null," SELECT THE BLOODGROUP");
 return;
        }

        try
        {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            Connection con=DriverManager.getConnection("jdbc:odbc:wanisamajDB");
            Statement stmt=con.createStatement();
           String qry= "INSERT INTO Registration1(RegistrationNo,SeniorPerson,NativePlace,Kul,Gotra,KulSwami,ResidensialAddress,PinCode,STDcode,TelephoneNo,MobileNo,Email,Website,Education,Branch,BloodGroup) VALUES('"+regno+"','"+nm+"','"+place+"','"+kul+"','"+gotra+"','"+kswami+"','"+raddr+"','"+pincode+"','"+stdcd+"','"+tele+"','"+mno+"','"+email+"','"+website+"','"+education+"','"+branch+"','"+bloodgroup+"')";
           // String qry= "INSERT INTO Registration1(RegistrationNo,SeniorPerson,NativePlace,Kul,Gotra,KulSwami,ResidensialAddress,PinCode,STDcode,TelephoneNo,MobileNo,Email,Website,Education,Branch,BloodGroup,Date,BirthDate) VALUES('"+regno+"','"+nm+"','"+place+"','"+kul+"','"+gotra+"','"+kswami+"','"+raddr+"','"+pincode+"','"+stdcd+"','"+tele+"','"+mno+"','"+email+"','"+website+"','"+education+"','"+branch+"','"+bloodgroup+"','"+date+"','"+brthdt+"')";
            stmt.executeUpdate(qry);
            JOptionPane.showMessageDialog(null,"RECORD IS SAVED SUCCESSFULLY ");
            con.close();

        }
        catch(SQLException eM) {
            System.out.println(" "+eM);
            JOptionPane.showMessageDialog(null,"RECORD IS NOT SAVED");
        } 
        catch(Exception et)
        {
            System.out.println("error:"+et.getMessage());
        }

Upvotes: 0

Views: 1452

Answers (4)

Surej
Surej

Reputation: 358

The given number must be within the int range otherwise you get this error.

Upvotes: 0

Jon Skeet
Jon Skeet

Reputation: 1504022

Jigar Joshi has explained why you're getting the exception in the first place, but personally I'd avoid parsing the number that way to start with... you'll lose information about significant leading zeroes. For example, my home phone number in the UK starts with "0797" - if you try to dial it without the 0, it will fail.

Likewise "00" is often used as the equivalent of "+" to dial international numbers.

Basically, I'd store the number as a string instead of as an integer.

Upvotes: 6

Andrew Cooper
Andrew Cooper

Reputation: 32596

4342432435 is greater than the maximum value for a 32-bit int.

Upvotes: 0

Jigar Joshi
Jigar Joshi

Reputation: 240996

Because 4342432435 is out of int 's range., Use long field and Long.parseLong(someString);

Upvotes: 3

Related Questions