当我保存数据的时候我输入的移动设备没有像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());
}
答案 0 :(得分:6)
Jigar Joshi已经解释了为什么你首先得到例外,但我个人会避免解析那个开头的数字......你将失去有关重要前导零的信息。例如,我在英国的家庭电话号码以“0797”开头 - 如果您尝试在没有0的情况下拨号,则会失败。
同样,“00”通常用作拨打国际号码的“+”等价物。
基本上,我将数字存储为字符串而不是整数。
答案 1 :(得分:3)
因为4342432435
超出int
的范围。使用长字段和
Long.parseLong(someString);
答案 2 :(得分:0)
4342432435
大于32位int的最大值。
答案 3 :(得分:0)
给定的数字必须在int范围内,否则会出现此错误。