gpt4 book ai didi

java - JTable 中的行计数器

转载 作者:太空宇宙 更新时间:2023-11-04 08:33:13 25 4
gpt4 key购买 nike

在下面的代码中,我浏览一个表并计算包含“ble”、“cle”、“tion”的行数;我的计数器在 x=1 处打印预期值,但在 x=2 和 3 处,计数器的值是错误的。

我正在使用 JTable 并尝试计算 x 的每个值包含上述字符串的行数。

预期值:
x=1: 计数器1=5 计数器2=5 计数器3=6
x=2: 计数器1=10 计数器2=10 计数器3=6
x=3: 计数器1=20 计数器2=17 计数器3=6

int counter1 = 0;
int counter2 = 0;
int counter3 = 0;
for (int x = 1; x < 4; x++)
{
myTable.goToValue(x);
for (int i = 0; i < myTable.getRowCount(); i++)
{
if (myTable.getIcon(i, 0).matches("blue.gif"))
{
if (myTable.getRowValue(i, 1).contains("ble."))
{
counter1++;
}
if (myTable.getRowValue(i, 1).contains("cle."))
{
counter2++;
}
if (myTable.getRowValue(i, 1).contains("tion."))
{
counter3++;
}
}
}
System.out.println(counter1);
System.out.println(counter2);
System.out.println(counter3);
}

最佳答案

将计数器变量的初始化移至 for 循环内。

每次循环时,您都需要将值重置为零。计数器会继续计数,因为您只在过程开始时将它们设置为零,而不是在 x=2 和 x=3 之前。

更改此:

int counter1 = 0;
int counter2 = 0;
int counter3 = 0;
for (int x = 1; x < 4; x++) {
myTable.goToValue(x);

对此:

for (int x = 1; x < 4; x++) {
int counter1 = 0;
int counter2 = 0;
int counter3 = 0;
myTable.goToValue(x);

关于java - JTable 中的行计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7012716/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com