我有一个单独的Items类和一个GUI的Inventory_MP类。我的任务是删除用户键入的项目,并让它在界面中显示已被删除。出于某种原因,我无法将其删除。错误说:
线程中的异常" AWT-EventQueue-0" java.lang.NumberFormatException:对于输入字符串:" 2" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) 在java.lang.Integer.parseInt(Integer.java:481) 在java.lang.Integer.parseInt(Integer.java:527)
if(e.getSource() == remButton){
String delitem = nameField.getText();
String delnum = numField.getText();
String delqty = qtyField.getText();
String delprice = priceField.getText();
Items v = new Items(delitem, delnum, Integer.parseInt(delqty), Double.parseDouble(delprice));
removeItems(delitem, delnum, delqty,delprice);
public void removeItems(String delitem, String delnum, String delqty, String delprice){
Items v = new Items();
itemModel.removeElementAt(itemCollection.indexOf(delitem)); //removes element in the JList
itemnumModel.removeElementAt(itemCollection.indexOf(delnum));
qtyModel.removeElementAt(itemCollection.indexOf(delqty));
priceModel.removeElementAt(itemCollection.indexOf(delprice));
itemCollection.remove(searchItems(delitem)); //removes element in the arrayList
itemText.setText(" ");
numText.setText(" ");
qtyText.setText(" ");
priceText.setText(" ");
window.validate();
window.repaint();
}
答案 0 :(得分:0)
您在Integer.parseInt调用中发生错误,这是因为输入字符串“2”前面的前导空格。
String delqty = qtyField.getText();
qtyField.getText();
返回带有前导空格的字符串。如果删除qtyField中的空格,它将修复此错误,代码中可能仍有其他错误,但对Integer.parseInt的调用将正常工作。
答案 1 :(得分:0)