【问题标题】:Error "Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException" [closed]错误“线程“AWT-EventQueue-0”java.lang.NumberFormatException中的异常”[关闭]
【发布时间】:2021-12-18 08:59:21
【问题描述】:

我尝试过使用trim(),但同样的错误不断出现。

public void getSum()
    {
        int sum = 0;
        for(int i=0;i<jTable_stockinfo.getRowCount();i++)
        {
            sum  = sum + Integer.parseInt(jTable_stockinfo.getValueAt(i, 5).toString().trim());
        }
        
        jTextField_total.setText(Integer.toString(sum));
    
    }

我是在错误的地方使用trim() 还是必须添加其他内容。

【问题讨论】:

  • 完整的异常消息应该告诉您您要转换的字符串是什么。如果没有,请在转换之前将其打印出来。
  • 为什么你有javascript标签?
  • 你读过documentation吗?
  • 是的,发现我的错误。感谢您的帮助。抱歉标记错误。

标签: java swing jtable numberformatexception


【解决方案1】:

这个问题可能与“trim()”无关——它可能只是“坏数据”。

建议:将“parseInt()”包装在 try/catch 块中可能会有所帮助:

示例:

try {
  String s = jTable_stockinfo.getValueAt(i, 5).toString().trim();
  sum  = sum + Integer.parseInt(s);
} catch (NumberFormatException nfe) {
   throw new Exception ("Illegal input: " + s);
}

在我的示例中,我重新抛出了错误。你可能想做“一些不同的事情”。但重点是 a) 检测何时有非法输入,b) 保留非法值,以便您可以采取适当的措施。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-26
    • 2013-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-23
    相关资源
    最近更新 更多