If não tranca passagem - JAVA doidão [RESOLVIDO]

9 respostas
guisantogui

Tenho uma validação, mas o if naum funciona :/

private void btnDeletaRegistroAtualActionPerformed(java.awt.event.ActionEvent evt) {                                                       
        try{
            if(getCadastroDePessoas().getPosicao() < getCadastroDePessoas().getTamanhoLista()){     //  <-- Esse if aki não ta funcionando já imprimi a posição e o tamanho e ta ok! :?
                getCadastroDePessoas().remove(getCadastroDePessoas().pessoaPosicaoAtual());

                if(getCadastroDePessoas().getTamanhoLista() == 0){
                    txtNome.setText("");
                    txtBairro.setText("");
                    txtCidade.setText("");
                    txtEndereco.setText("");
                    txtTelefone.setText("");
                    txtEmailGeral.setText("");
                    txtFormatCpf.setText("");
                    txtFormatCnpj.setText("");
                    txtUF.setText("");
                    txtFax.setText("");
                    txtApelido.setText("");
                    txtHomePage.setText("");
                    txtFormatCep.setText("");
                    txtPosicaoLista.setText("");
                    JOptionPane.showMessageDialog(null, "O último regitro foi excluido, não há mais registros");
                    return;
                }

                else if(getCadastroDePessoas().getTamanhoLista() > 1){
                    txtNome.setText(getCadastroDePessoas().primeiraPessoaDaLista().getNome());
                    txtBairro.setText(getCadastroDePessoas().primeiraPessoaDaLista().getBairro());
                    txtCidade.setText(getCadastroDePessoas().primeiraPessoaDaLista().getCidade());
                    txtEndereco.setText(getCadastroDePessoas().primeiraPessoaDaLista().getEndereco());
                    txtTelefone.setText(getCadastroDePessoas().primeiraPessoaDaLista().getTelefone());
                    txtEmailGeral.setText(getCadastroDePessoas().primeiraPessoaDaLista().getEmail());
                    txtFormatCpf.setText(getCadastroDePessoas().primeiraPessoaDaLista().getCpf());
                    txtFormatCnpj.setText(getCadastroDePessoas().primeiraPessoaDaLista().getCnpj());
                    txtUF.setText(getCadastroDePessoas().primeiraPessoaDaLista().getUf());
                    txtFax.setText(getCadastroDePessoas().primeiraPessoaDaLista().getFax());
                    txtApelido.setText(getCadastroDePessoas().primeiraPessoaDaLista().getApelido());
                    txtHomePage.setText(getCadastroDePessoas().primeiraPessoaDaLista().getHomepage());
                    txtFormatCep.setText(getCadastroDePessoas().primeiraPessoaDaLista().getCep());
                }
                
                 
                salvaEAbre.salvaRegistro(getCadastroDePessoas());
                jAdicionaNovo.setCdp(salvaEAbre.abreRegistro());

                JOptionPane.showMessageDialog(null, "Registro Excluído com sucesso");
            }

            else{
                JOptionPane.showMessageDialog(null, "Não há elementos no cadastro", "Cuidado", JOptionPane.INFORMATION_MESSAGE);
            }
        }
        catch(IndexOutOfBoundsException ioobe){
            ioobe.printStackTrace();
        }
    }

metodo getPosicao():

public int getPosicao() {
        return posicao;
    }

vlw galera!

9 Respostas

marcelo.bellissimo

Não funciona em que sentido? Ele está fazendo o “contrário” do que você espera, ou ele está lançando algum erro?

Outra coisa, os dois métodos em questão, retornam uma variável do tipo int ?

guisantogui

Sim os dois retornam um int

o if ta deixando passar o int que é menor que o outro :confused:

marcelo.bellissimo

Nossa… :?

Dê um exemplo, quais os valores pra cada variável?

adrianoseven

Já fez um Debug?
Não EXISTE possibilidade do java aceitar 2 > 3 … vê se debugando vc encontra o valor real dos retornos do método.

guisantogui

é assim eu instancio a minha variavel que percorre a lista como -1 e o tamanho do ArrayList Vazio é 0, ou seja maior, mas ele naum ta pegando! :confused:

guisantogui

Não tenho a minima idéia do que fiz, mas agora ta parando no if! :shock:

mario.fts

não seria melhor vc criar um método “isEmpty” ?

e outra. se sua lista tiver tamanho = 1, ela cai onde?

guisantogui

boa idéia do isEmpty, mas naum entendi o lista com tamanho 1

mario.fts

é só olhar seu código.

o primeiro if ve se a lista tem tamanho 0.

senão, ve se a lista tem tamanho maior que 1. 2 é maior que 1, 3 é maior que 1, mas 1 não é maior que 1. 1 é = a 1.

mas faz o isEmpty que é melhor

Criado 22 de abril de 2010
Ultima resposta 22 de abr. de 2010
Respostas 9
Participantes 4