Check null, how to proceed?

Asked

Viewed 135 times

-1

How to put to check if the cell is empty in this method?

    public void VerificarResultdo() {
        int linha = CadresultadoTabela.getSelectedRow();
        int coluna = CadresultadoTabela.getSelectedColumn();
        String tipo = CadresultadoTabela.getValueAt(linha, 26).toString();
        String snreferencia = CadresultadoTabela.getValueAt(linha, 21).toString();

        if (tipo.contains("Texto") && !snreferencia.contains("Sim")) {
            String valor1 = CadresultadoTabela.getValueAt(linha, 27).toString(); //Especificacao
            String valor2 = CadresultadoTabela.getValueAt(linha, 31).toString(); //Valor digitado pelo usuario  
            if (valor1.equals(valor2)) {
                modelo.setValueAt("Aprovado", linha, 33);
//                modelo.isCellEditable(linha, 32);
            } else {
                modelo.setValueAt("Reprovado", linha, 33);
            }
        } else if (tipo.contains("Min e Max") && !snreferencia.contains("Sim")) {
            Float valornumerico = Float.parseFloat(CadresultadoTabela.getValueAt(linha, 30).toString()); //Valor digitado pelo usuario   
            if (valornumerico >= Float.parseFloat(CadresultadoTabela.getValueAt(linha, 17).toString()) && valornumerico <= Float.parseFloat(CadresultadoTabela.getValueAt(linha, 18).toString())) {
                modelo.setValueAt("Aprovado", linha, 33);
            } else {
                modelo.setValueAt("Reprovado", linha, 33);
//                modelo.isCellEditable(linha, 32);
            }
        } else if (tipo.contains("No Min") && !snreferencia.contains("Sim")) {
            Float valornumerico = Float.parseFloat(CadresultadoTabela.getValueAt(linha, 30).toString()); //Valor digitado pelo usuario   
            if (valornumerico >= Float.parseFloat(CadresultadoTabela.getValueAt(linha, 17).toString())) {
                modelo.setValueAt("Aprovado", linha, 33);
            } else {
                modelo.setValueAt("Reprovado", linha, 33);
//                modelo.isCellEditable(linha, 32);
            }
        } else if (tipo.contains("No Max") && !snreferencia.contains("Sim")) {
            Float valornumerico = Float.parseFloat(CadresultadoTabela.getValueAt(linha, 30).toString()); //Valor digitado pelo usuario   
            if (valornumerico <= Float.parseFloat(CadresultadoTabela.getValueAt(linha, 18).toString())) {
                modelo.setValueAt("Aprovado", linha, 33);
            } else {
                modelo.setValueAt("Reprovado", linha, 33);
//                modelo.isCellEditable(linha, 32);
            }
        } else if (tipo.contains("ValorUnico") && !snreferencia.contains("Sim")) {
            Float valornumerico = Float.parseFloat(CadresultadoTabela.getValueAt(linha, 30).toString()); //Valor digitado pelo usuario 
            if (valornumerico == Float.parseFloat(CadresultadoTabela.getValueAt(linha, 17).toString())) {
                modelo.setValueAt("Aprovado", linha, 33);
            } else {
                modelo.setValueAt("Reprovado", linha, 33);
//                modelo.isCellEditable(linha, 32);
            }
        } else if (snreferencia.contains("Sim")) {
            modelo.setValueAt("Referência", linha, 33);

        } 
    }

I took some tests as :

else if (tipo.contains("Min e Max") && !snreferencia.contains("Sim")) {
            Float valornumerico = Float.parseFloat(CadresultadoTabela.getValueAt(linha, 30).toString());
            if (valornumerico == null) {
                modelo.setValueAt("teste", linha, 33);

            }
        }

but I also tried with

if (valornumerico.equal("null"))

if (valornumerico.isEmpty())

here that is not working

if (tipo.contains("Texto") && !snreferencia.contains("Sim")) {
            Object obj = CadresultadoTabela.getValueAt(linha, 31);
            if (obj == null || obj.toString().trim().isEmpty()) {
                modelo.setValueAt("", linha, 33);
            }
            String valor1 = CadresultadoTabela.getValueAt(linha, 27).toString(); //Especificacao
            String valor2 = CadresultadoTabela.getValueAt(linha, 31).toString(); //Valor digitado pelo usuario  
            if (valor1.equals(valor2)) {
                modelo.setValueAt("Aprovado", linha, 33);
//                modelo.isCellEditable(linha, 32);
            } else {
                modelo.setValueAt("Reprovado", linha, 33);
            }
        }

1 answer

2

To check if this line is empty, try as below:

Object obj = CadresultadoTabela.getValueAt(linha, 30);
if (obj == null || obj.toString().trim().isEmpty()) {
    modelo.setValueAt("teste", linha, 33);
}

I must warn you that your code has unconfirmed conversion problems, the parseFloat is being done without checking if the content can actually be converted to numerical value, and this pops a NumberFormatException when it occurs.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.