Получить значения из таблицы - PullRequest
0 голосов
/ 10 августа 2011

В моем следующем коде я просматриваю таблицу и ищу столбцы, содержащие синий значок, если это так, я считаю количество строк, имеющих синий значок и содержащих слово «ble», но то, что я делаю, не работаетМне нравится.

for (int i = 0; i <myTable.getRowCount(); i++)
     {
       myTable.selectCell(i, 1);
       if (myTable.getIcon(i, 0) == ("blue.gif"))
       {

        if (myTable.getRowValue(i, 0).contains("ble."))
        {
         int counter = 0;
         counter = counter + 1;
         System.out.println(counter);

        }

     }
}

Ответы [ 4 ]

0 голосов
/ 10 августа 2011

Поскольку вы уже используете 'i' в качестве переменной-счетчика, нет необходимости создавать еще одну, называемую 'counter'.

   for (int i = 0; i <myTable.getRowCount(); i++) {
        myTable.selectCell(i, 1);
        if (myTable.getIcon(i, 0) == ("blue.gif")) {
            if (myTable.getRowValue(i, 0).contains("ble.")) {
               System.out.println(i + "");
            }
        }
    }
0 голосов
/ 10 августа 2011

Не работает, как мне нравится, значит, вы получаете все 1, я полагаю? Это потому, что вы сбрасываете счетчик внутри вашего if каждый раз:

for (...) {
    ...
    if (...) {
        int counter = 0; // you do this every time
    }
    ...
}

Вместо этого выведите счетчик из цикла:

int counter = 0; // only do it once, here
for (...) {
    ...
    if (...) {
        counter = counter + 1
    }
    ...
}
0 голосов
/ 10 августа 2011

Переменная counter должна быть объявлена ​​выше for:

int counter = 0;
for (int i = 0; i <myTable.getRowCount(); i++) {
    myTable.selectCell(i, 1);
    if (myTable.getIcon(i, 0) == ("blue.gif")) {
        if (myTable.getRowValue(i, 0).contains("ble.")) {
           counter++;
           System.out.println(counter);
        }
    }
}
0 голосов
/ 10 августа 2011

Это потому, что вы сбрасываете счетчик на 0, прежде чем добавить 1 к нему, поэтому счетчик всегда показывает 1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...