我有9列,我在循环中计算一些数据,我想在不同的列中写入数据,我如何精确地确定哪些列数据?我想要更改列if(wynik< 2),但table.setValueAt没有用,因为它在同一个单元格中写日期
这就是我想要的:
这就是我得到的:
我的代码中有一节:
int[] arr = { 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
36, 37, 38, 39, 40 };
double[] walce = { 257.175, 263.525, 304.8, 323.85, 333.375, 396.875, 415.925,
454.025, 638.175 };
int w = 0;
for (int i = 0; i < arr.length; i++) {
wynik = (walce[w]/arr[i])-wartoscWysokoscEtykiety;
model.addRow(new Object[]{
wynik,
});
if (wynik < 2) {
table.setValueAt(wynik, i, w);
w = w +1;
i=0;
}
我的代码是wklej.org/id/3057183/。
答案 0 :(得分:0)
我试图理解你的代码,但我的波兰语(就是它?)是不够的,我不能,抱歉。
相反,你将不得不处理一些模糊的建议。您有一个循环控件varablei
,用于索引arr
元素和列索引w
。你不应该在循环中间改变i
(不要i=0;
),否则你的循环不会停止。或者更糟糕的是,事实上,你并没有让读者相信它会停止。总是编写代码供别人阅读并维护。相反,引入行索引。然后,如果行索引等于表模型中已有的行数,则只应添加新行。
如果您打算从arr
开始到新列时重新开始,我认为正确的设计是双循环:w
从0开始的外循环在行上方有一个内循环。那么确保你不再写同一个单元格并不是那么难。