Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Vetor Duvida

estou aprendendo a trabalhar com vetor, só que peguei esse codigo e estou com pouco de duvida.

Alguém poderia me ajudar a traduzir esse método adiciona. não entendi esse for decrementado.

private String[] elementos;
    private int tamanho;

    public Vetor(int capacidade) {
        this.elementos = new String[capacidade];
        tamanho = 0;
    }

    public boolean adiciona(int posicao,String elemento){
        if(!(posicao >=0 && posicao < tamanho)){
            throw new IllegalArgumentException("Posição inválida");
        }
            for(int i =this.tamanho -1; i>= posicao - 1; i--){
                    this.elementos[i+1] =this.elementos[i]; //adiciona o elemento em uma posição e o que recebe adiciona mais um.
            }
            this.elementos[posicao] = elemento;
            this.tamanho++;
            return true;
    }
2 respostas
solução!

Oi Dayson,

No fundo esse for está servindo para mover os valores para uma posição acima até chegar na posição selecionada e lá incluir o novo valor.

Espero ter ajudado

Boa tarde,

Detalhe importante: o método adiciona() desse código não vai funcionar como era "esperado". Tem alguns furos ai viu. Teste em modo debug e você vai ver.

Abraço.