使用JTextField的java无法将值转换为int
我想从JComboBox
中获取所选值,在数据库中搜索它,并用JTextField
中的值更新数据库中的数量。代码如下:
Object selected = jComboBox1.getSelectedItem();
String album = (String)selected;
int qty=Integer.parseInt(jTextField7.getText());
String query2="update productlist set QtyAvail=? " +
"where Album=?";
try
{
PreparedStatement ps2=con.prepareStatement(query2);
ps2.setInt(1, qty);
ps2.setString(2,album);
int res1=ps2.executeUpdate();
}
catch(Exception e)
{
e.printStackTrace();
}
我得到了这个错误:
Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException:
For input string: " 1"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at AddProductPanel.jButton2ActionPerformed(AddProductPanel.java:341)
at AddProductPanel.access$4(AddProductPanel.java:335)
at AddProductPanel$5.actionPerformed(AddProductPanel.java:133)
我在文本字段中输入了值“1”
# 1 楼答案
您的字符串包含一个空格
解析前使用trim:
# 2 楼答案
用^{} 和
Number Formatter
或者更好的方法是使用^{} 和
SpinnerNumberModel
避免在数据类型之间进行解析,您可以控制输入值(最小-最大-ev.范围-十进制形式)
# 3 楼答案
@Nivedita Gautam:似乎
a blank
空格被附加在1
之前。 尝试使用以下语句:# 4 楼答案
在输入到
parseInt()
的字符串中有一个空格,请使用trim()