我有这个问题将对象转换为字符串...我使用toString()
函数...并且因为对象转换为字符串在try{}catch(exception e){}
内,我继续接收输出错误:For input string: ""
如果我继续收到类似的错误消息应该是什么问题?
更详细说明:
jComboBox
它包含来自a的项目
数据库中。JFrame
表单而不是
Java类。我想做的就是从碰巧是对象的JComboBox
中捕获所选择的项目。然后捕获它。我将在数据库中使用我的查询值。
这是我的代码(部分):
private void SUBMITActionPerformed(java.awt.event.ActionEvent evt) {
try {
Class.forName(Connect.DRIVER);
Connection con = DriverManager.getConnection(Connect.CONNECTION_STRING,
Connect.USERNAME, Connect.PASSWORD);
Object obj = jComboBox1.getSelectedItem();
String item_name = obj.toString();
int month = jMonthChooser.getMonth();
int q_box = Integer.parseInt(quantity_box_txtbox.getText());
double unit_price_box = 0;
int q_pc = Integer.parseInt(quantity_pc_txtbox.getText());
double unit_price_pc = 0;
double sub_total_box = 0;
double sub_total_pc = 0;
double grand_total = 0;
//Testing
System.out.println(jMonthChooser.getMonth());
System.out.println(item_name);
} catch (Exception e) {
System.out.println("Error: "+e.getMessage());
}
}
如果您对我解释问题的方式有任何不明白的地方,请告诉我......我会尽力详细说明。
提前致谢。
:)
这是完整的错误:
Error: java.lang.NumberFormatException : For input string: ""
答案 0 :(得分:3)
嗯,首先:
Exception
;捕获特定的子类异常看起来像是在尝试解析字符串 - 而不是试图将对象转换为字符串。我强烈怀疑问题是这些问题之一:
int q_box = Integer.parseInt(quantity_box_txtbox.getText());
int q_pc = Integer.parseInt(quantity_pc_txtbox.getText());
我的猜测是其中一个文本框是空的 - 所以你实际上是在调用失败的Integer.parseInt("")
。