Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] Agenda de contatos

Olá!

Segue minha resolução:

  • Criação da classe Contatos, com os atributos nome e contato. A classe utiliza regex para evitar a inserção de números inválidos no campo telefone:
package br.com.alura.exercicios;

import java.util.regex.Pattern;

public class Contatos {
    private String nome;
    private String telefone;


    private static final String TELEFONE_REGEX =
            "^\\+?\\d{0,3}?\\s?\\(?\\d{2}\\)?\\s?9?\\d{4}-?\\d{4}$";

    private static final Pattern TELEFONE_PATTERN =
            Pattern.compile(TELEFONE_REGEX);

    public Contatos(String nome, String telefone) {
        this.nome = nome;
        setTelefone(telefone);
    }


    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getTelefone() {
        return telefone;
    }

    public void setTelefone(String telefone) {
        if (telefone == null ||!TELEFONE_PATTERN.matcher(telefone).matches()){
            throw new IllegalArgumentException("Telefone Inválido: " + telefone);
        }
        this.telefone = telefone;
    }

    @Override
    public String toString() {
        return String.format("%s - %s", nome,telefone);
    }
}
  • Criando a lista e rodando a aplicação:
import br.com.alura.exercicios.Contatos;

import java.util.ArrayList;
import java.util.List;
import java.util.stream.IntStream;

public class Main {
    public static void main(String[] args) {

        List<Contatos> listaContatos = new ArrayList<Contatos>();

        listaContatos.add(new Contatos("João Silva", "(11) 99999-0000" ));
        listaContatos.add(new Contatos("Luana Santos", "(21) 98888-0000"));
        listaContatos.add(new Contatos("Pedro Oliveira", "(31) 97777-0000"));
        //listaContatos.add(new Contatos("Victor Moreira", "abc"));

        for(int i = 0; i < listaContatos.size(); i++){
            System.out.println((i+1) + "-" + listaContatos.get(i));
        }

    }
}
1 resposta
solução!

Oii Victor, tudo certo?

Que massa sua resolução! Parabéns por ter ido além e implementado a validação de telefone usando regex na classe Contatos. Essa é uma sacada muito bacana e mostra que você está pensando na robustez do seu código.

Continue com essa iniciativa, Victor!

Grande abraço!

Bons estudos!

Sucesso

Imagem da comunidade