Contar coluna com linha diferentes de zero

6 respostas Resolvido
J

Olá pessoal, precisava fazer contagem em uma coluna de uma jtable ( que nomeei TabRec ) ,se o número for diferente de zero, já dei uma procurada nos tópicos mas não vi nada a respeito. estou tentando desse modo mais o valor retornado é 0.

private Integer ContaCiclos() {
        Integer Ciclos = 0;
        int i = 0;
            if(
            Integer.parseInt( TabRec.getValueAt(i, 2).toString())!=0)
        Ciclos = i++;
       return Ciclos; 
        }

6 Respostas

H

TabRec.getValueAt(i, 2) - Deve retornar 0

Para transformar em String utilize

String.valueOf(Object obj);

J

hugosilvaf2, como sou iniciante ainda estou quebrando a cabeça aqui, rs.
Tentei desse modo mas continua retornando 0, mas tenho quase certeza que estou fazendo besteira com uso de inteiros e string, rs
coloquei dessa forma:

private Integer ContaCiclos() {
        Integer Ciclos = 0;
        int i = 0;
            if(
            Integer.parseInt( TabRec.getValueAt(i, 2).toString())!=0)
                String.valueOf(i);
        Ciclos = i++;
       return Ciclos; 
        }

Já que nessa outra forma que tentei o os tipos são incompatíveis,

private Integer ContaCiclos() {

Integer Ciclos = 0;

int i = 0;

if(

String.valueOf(TabRec.getColumn(2))!=0)

Ciclos = i++;

return Ciclos;

}
H

O problema é que você está comparando String com Integer. Utilize o equals() para comparar String com String

Transforme ambos em String e compare ou apenas deixe o TabRec.getColumn(2) como Integer.

para transformar ambos faça isso.

if(String.valueOf(TabRec.getColumn(2)).equals(“0”)) {

}

para deixar TabRec.getColumn(2) como Integer

if(TabRec.getColumn(2) != 0) {

}

J

Fiz como me disse:

Transforme ambos em String e compare ou apenas deixe o TabRec.getColumn(2) como Integer.

para transformar ambos faça isso.

if(String.valueOf(TabRec.getColumn(2)).equals(“0”)) {

}

só que aí o java me retorna uma exceção de identificador não encontrado que não consegui resolver, segue :

Exception in thread “AWT-EventQueue-0” java.lang.IllegalArgumentException: Identifier not found
at javax.swing.table.DefaultTableColumnModel.getColumnIndex(Unknown Source)

H

No caso ele não encontrou a coluna.

Verifique se contém a coluna, faça um debug de todas colunas que existe.

J
Solucao aceita

Muito obrigado hugosilvaf2,
bom, a dica deu certinho

if(String.valueOf(TabRec.getColumn(“RECEITA_DIRETA”)).equals(“0”)){
}

Porém o valor volta a retornar zero, assim, optei por fazer um for para a contagem e consegui resolver ficando assim:

private Integer ContaCiclos() {
        int Ciclos = 0;
        for(int coluna = 0;coluna < Integer.parseInt(TabRec.getValueAt(coluna,2).toString());coluna++ ){
        Ciclos++;
            }
        return Ciclos;
        }
Criado 23 de fevereiro de 2016
Ultima resposta 23 de fev. de 2016
Respostas 6
Participantes 2