我正在尝试使用for循环从我的Jtable中获取行数据,但它给出了最后一行。下面是我的代码示例:
String item = null; String qty = null; String price = null;
for (int i = 0; i < table.getRowCount(); i++) {
String f1 =item.getValueAt(i, 0).toString();
String f2 =item.getValueAt(i, 1).toString();
String f3 =item.getValueAt(i, 2).toString();
item = f1; qty = f2; price =f3;
}
Formatter fd = new Formatter();
System.out.println(fd.format("%-20s %5s %10s", item ,qty ,price ));
答案 0 :(得分:1)
请尝试将示例代码的最后两行移动到循环中:在结束循环的}
之前。
答案 1 :(得分:1)
您需要在每个循环中将新值重新分配给变量item
,qty
和price
。因此,只打印最后一个。如果您希望打印每行的值,请在循环的内部中包含打印到控制台代码。
for (int i = 0; i < table.getRowCount(); i++) {
String f1 = item.getValueAt(i, 0).toString();
String f2 = item.getValueAt(i, 1).toString();
String f3 = item.getValueAt(i, 2).toString();
System.out.println(String.format("%-20s %5s %10s", f1 , f2, f3));
}
此外,方法String.format(..)
对您来说可能更有趣。