从 JTable 中,我尝试获取从 [行 1 到 ..行尾] 的每一列的值(字符串),并计算值的总和,如下所示:
final ArrayList<String>ValuesList = new ArrayList<String>();
final int nb = myTable.getRowCount();
int sum=0;
for (int i = 1; i < nb; i++)
{
String columnValue = myTable.getColumnValue(i, columnName);
sum=sum+Integer.parseInt(columnValue);
ValuesList .add(columnValue);
}
但是我得到了:
java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
最佳答案
您的表格中至少有一个空单元格。
这里有一个建议:
try {
sum += Integer.parseInt(columnValue);
} catch (NumberFormatException nfe) {
// the cell is either empty or not an integer number
// will be treated as zero (0)
}
注意,getColumnValue(int i, String name)
方法没有为 javax.swing.JTable
定义。如果您使用 JTable
的子类,那么错误也可能出在该类/方法中:它可能返回一个空字符串而不是单元格值。
关于java : convert string value to int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7281875/