我有一个使用DefaultTableModel的JTable,我在数组中得到了结果,但是在执行for循环之后,int i
将始终输出零值。循环工作正常。
Ramalan forecast = model.ramalan(12);
DefaultTableModel tb = new DefaultTableModel();
String header[] = new String[] { "No", "tgl", "harga", "Batas Atas", "Batas Bawah" };
tb.setColumnIdentifiers(header);
Vector<Object> rml = new Vector<>();
for(int i=0; i<forecast.estimasiPoin().ukuran(); i++){
rml.add(i);
rml.add("");
rml.add(aturDesim.format(forecast.estimasiPoin().pada(i)));
rml.add(aturDesim.format(forecast.intervalPrediksiAtas().pada(i)));
rml.add(aturDesim.format(forecast.intervalPrediksiAtas().pada(i)));
tb.addRow(rml);
}
tableRamal.setModel(tb);
这是打印值的方式:
for(int i=0; i<12; i++){
rml.add(i);
rml.add("");
rml.add(aturDesim.format(forecast.estimasiPoin().pada(i)));
rml.add(aturDesim.format(forecast.intervalPrediksiAtas().pada(i)));
rml.add(aturDesim.format(forecast.intervalPrediksiAtas().pada(i)));
tb.addRow(rml);
}
tableRamal.setModel(tb);
但它仍返回零。
我已经在Google上搜索了它,但找不到答案。
答案 0 :(得分:2)
您将重复使用相同的向量,并在末尾添加更多元素。
将代码更改为此:
for(int i=0; i<forecast.estimasiPoin().ukuran(); i++){
Vector<Object> rml = new Vector<>();
rml.add(i);
rml.add("");
rml.add(aturDesim.format(forecast.estimasiPoin().pada(i)));
rml.add(aturDesim.format(forecast.intervalPrediksiAtas().pada(i)));
rml.add(aturDesim.format(forecast.intervalPrediksiAtas().pada(i)));
tb.addRow(rml);
}