Java 无法使用for循环从Jtable获取所有行数据。。给我最后一排

Java 无法使用for循环从Jtable获取所有行数据。。给我最后一排,java,swing,for-loop,iteration,Java,Swing,For Loop,Iteration,我试图使用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(

我试图使用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 ));
字符串项=null;字符串数量=空;字符串价格=空;
对于(int i=0;i
尝试移动示例代码的最后两行,使其位于循环中:在结束循环的
之前。

您可以为每个循环的变量
数量
价格
重新分配新值。因此,只打印最后一个。如果要打印每行的值,请在循环中包含打印到控制台代码

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));
}
for(int i=0;i

此外,该方法可能对您更感兴趣。

注意到,但我正在尝试访问for循环外部的字符串,也许可以提供有关您需要执行的操作的更多详细信息。正如O.Jones所说,将println移动到循环中。如前所述,循环遍历每个元素并将其放入变量(item、qty和price),但不处理它们。在第一次迭代中,您将获得项目、数量和价格中的第一个条目。在第二项中,您将获得第二项(覆盖第一项),依此类推。最后,只有在每个项目都被捕获并写入这3个变量之后,才可以打印变量,从而只打印最后一个变量。如果循环结束时,您想要一个包含所有条目的字符串,那么您就应该阅读
StringBuilder
类并使用它。您希望得到什么结果?从您发布的代码中可以明显看出,调用方法
println()
只会打印最后一行表。是否尝试调试发布的代码?我想获取for循环之外的所有行数据?或者使用
System.out.printf()