1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Ajuda na inserção de dados em vetor dinâmico. Preciso acrescentar as informações da classe pessoa nesse vetor, porém não ascrescenta , dá erro.

package com.senac.trabalhoVetor;

public class Vetor {


    private Pessoa[] dados;
    private int numElementos;    


    public Vetor() {
        dados = new Pessoa[2];
        numElementos = 0;
    }

    public void append(Pessoa dado) {
        this.insert(numElementos, dado);
    }

    public void insert(int index, Pessoa dado) {
        if (index < 0 || index > numElementos)
            throw new ArrayIndexOutOfBoundsException("Indice invalido.");
        if (numElementos == dados.length)
            aumentaTamanho();
        for (int i = numElementos; i > index; i--)
            dados[i] = dados[i-1];
        dados[index] = dado;
        numElementos++;
    }

    private void aumentaTamanho() {
        int sz = dados.length;
        Pessoa[] novo = new Pessoa[sz * 2];
        System.arraycopy(dados,0, novo,0, sz);
        dados = novo;
    }

    public void remove(int index) {
        for (int i = index+1; i < numElementos; i++) {
            dados[i-1] = dados[i];
        }
        numElementos--;
    }

    public Pessoa get(int index) {
        if (index < 0 || index >= numElementos)
            throw new ArrayIndexOutOfBoundsException("Indice invalido.");
        return dados[index];
    }

    public int getSize() {
        return numElementos;
    }

    public int getCapacity() {
        return dados.length;
    }


}

Essa é a classe pessoa que preciso pegar os dados

package com.senac.trabalhoVetor;

public class Pessoa {

    public String nome;
    public String empresa;
    public String telefone;    

    public Pessoa() {

    }

    public String getNome() {
        return nome;
    }
    public void setNome(String nome) {
        this.nome = nome;
    }
    public String getEmpresa() {
        return empresa;
    }
    public void setEmpresa(String empresa) {
        this.empresa = empresa;
    }
    public String getTelefone() {
        return telefone;
    }
    public void setTelefone(String telefone) {
        this.telefone = telefone;
    }

    @Override
    public String toString() {
        return "Pessoa:" + nome + ", Empresa" + empresa + ", Telefone=" + telefone;
    }




}

Essa é a minha classe teste agenda. Aparece um erro quando tento mostrar o nome, Aparece os atributos vazios. Já tentei de várias formas mas não to conseguindo. SOS. O objetivo desse código é ser uma agenda. Guardar os dados de pessoa e mostrar na tela, consultar, apagar. Já tentei utilizar println() da erro tbm.

package com.senac.trabalhoVetor;


import java.util.Scanner;



public class Agenda {



    public static void main(String[] args){

        Vetor agenda = new Vetor();
        Pessoa pes =  new Pessoa();
        Scanner entrada = new Scanner(System.in);

        for(int i=0;i<2;i++){

            System.out.println("Digite seu nome: ");
            pes.setNome(entrada.nextLine());
            agenda.insert(i, pes);

        }

        for(int i=0;i<2;i++){    

            System.out.printf("Pessoa: ",agenda.get(i).getNome());


         }






}}

Está dando um erro.O código não mostra o nome da pessoa na posição que eu peço. Queria saber se tem outra alternativa, sem usar ArrayList mas sim a Classe Vetor q está ali.

  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags arrays arraylist java ou faça a sua própria pergunta.