NumberFormatException的

时间:2011-04-07 06:44:10

标签: java

当我保存数据的时候我输入的移动设备没有像1234567891那样保存得当,但当我插入随机mno为4342432435时,它在线程"AWT-EventQueue-0" java.lang.NumberFormatException: For input string: "4342432435"中给出了错误,即出错 我的代码是:

  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());
        }

4 个答案:

答案 0 :(得分:6)

Jigar Joshi已经解释了为什么你首先得到例外,但我个人会避免解析那个开头的数字......你将失去有关重要前导零的信息。例如,我在英国的家庭电话号码以“0797”开头 - 如果您尝试在没有0的情况下拨号,则会失败。

同样,“00”通常用作拨打国际号码的“+”等价物。

基本上,我将数字存储为字符串而不是整数。

答案 1 :(得分:3)

因为4342432435超出int的范围。使用长字段和 Long.parseLong(someString);

答案 2 :(得分:0)

4342432435大于32位int的最大值。

答案 3 :(得分:0)

给定的数字必须在int范围内,否则会出现此错误。