Add another check, how to proceed? [closed]

-4

I'd like to know how I can add 1 more verification. I would like to have line 31 checked too. Example:

Object obj2 = modelo.getValueAt(linha, 31);

In that code here.

else if (snreferencia.contains("Sim")) {
    Object obj = modelo.getValueAt(linha, 30);

    if (obj == null || obj.toString().trim().isEmpty()) {
        modelo.setValueAt("", linha, 33);
    } else {
        modelo.setValueAt("Referência", linha, 33);
    }
}

I tried to do this, but did not give

else if (snreferencia.contains("Sim")) {
    Object obj = modelo.getValueAt(linha, 30);
    Object obj2 = modelo.getValueAt(linha, 31);
    if (obj == null || obj.toString().trim().isEmpty()) {
        modelo.setValueAt("", linha, 33);
    }
    if (obj2 == null || obj2.toString().trim().isEmpty()) {
        modelo.setValueAt("", linha, 33);
    } else {
        modelo.setValueAt("Referência", linha, 33);
    }
}

How are you currently?

    public void VerificarResultdoEnter() {
        int linha = tabela1.getSelectedRow() -1;
        int coluna = tabela1.getSelectedColumn();
        String tipo = tabela1.getValueAt(linha, 26).toString();
        String snreferencia = tabela1.getValueAt(linha, 21).toString();
        if (tipo.contains("Texto") && !snreferencia.contains("Sim")) {

            String valor1 = tabela1.getValueAt(linha, 27).toString(); //Especificacao
            String valor2 = tabela1.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);
            }
            Object obj = modelo.getValueAt(linha, 31);
            if (obj == null || obj.toString().trim().isEmpty()) {
                modelo.setValueAt("", linha, 33);
            }
        } else if (tipo.contains("Min e Max") && !snreferencia.contains("Sim")) {
            Object obj = modelo.getValueAt(linha, 30);
            if (obj == null || obj.toString().trim().isEmpty()) {
                modelo.setValueAt("", linha, 33);
            }
            Float valornumerico = Float.parseFloat(modelo.getValueAt(linha, 30).toString()); //Valor digitado pelo usuario   
            if (valornumerico >= Float.parseFloat(modelo.getValueAt(linha, 17).toString()) && valornumerico <= Float.parseFloat(modelo.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")) {
            Object obj = modelo.getValueAt(linha, 30);
            if (obj == null || obj.toString().trim().isEmpty()) {
                modelo.setValueAt("", linha, 33);
            }
            Float valornumerico = Float.parseFloat(modelo.getValueAt(linha, 30).toString()); //Valor digitado pelo usuario   
            if (valornumerico >= Float.parseFloat(modelo.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")) {
            Object obj = modelo.getValueAt(linha, 30);
            if (obj == null || obj.toString().trim().isEmpty()) {
                modelo.setValueAt("", linha, 33);
            }
            Float valornumerico = Float.parseFloat(modelo.getValueAt(linha, 30).toString()); //Valor digitado pelo usuario   
            if (valornumerico <= Float.parseFloat(modelo.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")) {
            Object obj = modelo.getValueAt(linha, 30);
            if (obj == null || obj.toString().trim().isEmpty()) {
                modelo.setValueAt("", linha, 33);
            }
            Float valornumerico = Float.parseFloat(modelo.getValueAt(linha, 30).toString()); //Valor digitado pelo usuario 
            if (valornumerico == Float.parseFloat(modelo.getValueAt(linha, 17).toString())) {
                modelo.setValueAt("Aprovado", linha, 33);
            } else {
                modelo.setValueAt("Reprovado", linha, 33);
//                modelo.isCellEditable(linha, 32);
            }
        } else if (snreferencia.contains("Sim")) {
            Object obj = modelo.getValueAt(linha, 30);
            if (obj == null || obj.toString().trim().isEmpty()) {
                modelo.setValueAt("", linha, 33);
            } else {
                modelo.setValueAt("Referência", linha, 33);
            }

        }
    }

This way it works, it's working fine, but I'm just having a problem ..

else if (snreferencia.contains("Sim")) {
    Object obj = modelo.getValueAt(linha, 30);

    if (obj == null || obj.toString().trim().isEmpty()) {
        modelo.setValueAt("", linha, 33);
    } else {
        modelo.setValueAt("Referência", linha, 33);
    }
}

I tried to include it to check column 31, but it either checks 31 or checks 30, so I can not get 2, if you can help me, I appreciate it.

    
asked by anonymous 23.08.2017 / 17:41

1 answer

2

First, simplify your method by eliminating redundancies. Given the your previous question , I think it looks something like this:

public void verificarResultado() {
    int linha = cadastroResultadoTabela.getSelectedRow();
    int coluna = cadastroResultadoTabela.getSelectedColumn();
    String tipo = cadastroResultadoTabela.getValueAt(linha, 26).toString();
    boolean snReferencia = cadastroResultadoTabela.getValueAt(linha, 21).toString().contains("Sim");

    if (snReferencia) {
        modelo.setValueAt("Referência", linha, 33);
        return;
    } 

    float valorNumerico = Float.parseFloat(cadastroResultadoTabela.getValueAt(linha, 30).toString()); // Valor digitado pelo usuario
    String valor1 = cadastroResultadoTabela.getValueAt(linha, 27).toString(); //Especificacao
    String valor2 = cadastroResultadoTabela.getValueAt(linha, 31).toString(); //Valor digitado pelo usuario
    float valorA = Float.parseFloat(cadastroResultadoTabela.getValueAt(linha, 17).toString());
    float valorB = Float.parseFloat(cadastroResultadoTabela.getValueAt(linha, 18).toString());

    boolean aprovado
            = tipo.contains("Texto") ? valor1.equals(valor2)
            : tipo.contains("Min e Max") ? valorNumerico >= valorA && valorNumerico <= valorB
            : tipo.contains("No Min") ? valorNumerico >= valorA
            : tipo.contains("No Max") ? valorNumerico <= valorB
            : tipo.contains("ValorUnico") ? valorNumerico == valorA
            : true;

    if (aprovado) {
        modelo.setValueAt("Aprovado", linha, 33);
    } else {
        modelo.setValueAt("Reprovado", linha, 33);
        modelo.isCellEditable(linha, 32);
    }
}

You can then change the condition of the variable aprovado to include something from line 31 as well.

    
23.08.2017 / 19:07