Array Java

2 respostas
java
Amanda_Ligia

Boa tarde galera, estou com uma duvida em um códifgo que estou fazendo e preciso de ajuda urgente pois tenho que envia para o professor até as 17hr de hoje. Bom já fiz boa parte do projeto mais agora que chegou em array tou enrolada, bom o professor pediu para : - Redimensionar o Array de Contatos automaticamente quando necessário.

E aqui está todo meu código;

public class Agenda {

private Contato [] listarContato = new Contato [10] ;

public void adicionarContato (Contato contato, int index ) {

if (listarContato [index] == null) {
    
    listarContato [index] = contato;
    return;
   
}
 
adicionarContato (contato, index + 1);

}

void mostarContatos () {

for (Contato c : listarContato) {
        
        if (c != null ) {
            
            System.out.println (c);
        }    
    }
}

}

public class Contato {

String nome ;
String email ;
int telefone ;


Contato ( String nome, String email, int telefone ) {
    
    this.nome = nome ;
    this.telefone = telefone ;
    this.email = email ;
    
}


public String toString () {

    return "Nome:" + nome + "Email:" + email + " Telefone:" + telefone ;
    
}

}

public class Contato {

String nome ;
String email ;
int telefone ;


Contato ( String nome, String email, int telefone ) {
    
    this.nome = nome ;
    this.telefone = telefone ;
    this.email = email ;
    
}


public String toString () {

    return "Nome:" + nome + "Email:" + email + " Telefone:" + telefone ;
    
}

}

ME AJUDEM POR FAVOR, AGRADEÇO!

2 Respostas

B

redimensionar eu acredito que não dê, o que dá pra fazer é isso:

//Criar um array temporario
Contato[] tmp = new Contato[listarContato .length + 1];

//Copiar o array listarContato para o array tmp
System.arraycopy(listarContato , 0, tmp, 0, listarContato .length);

//Copiar a referencia do array tmp para o array listarContato
listarContato = tmp;

O “+1” vc pode por o tamanho que precisar

Amanda_Ligia

não entendi muito bem mais vou tentar vez o que faço. obg

Criado 31 de agosto de 2017
Ultima resposta 31 de ago. de 2017
Respostas 2
Participantes 2