package pacote1; import java.util.List; import java.util.ArrayList; import java.util.Comparator; import java.util.Scanner; class Pessoa implements Impressao { private String nome; private int idade; private Sexo gender; private Telefone tel = new Telefone(); public Pessoa(String nome, int idade, Sexo gender) { this.nome = nome; this.idade = idade; this.gender = gender; } public Pessoa() { } public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public Telefone getTel() { return tel; } public void setTel(Telefone tel) { this.tel = tel; } public int getIdade() { return idade; } public void setIdade(int idade) { this.idade = idade; } public Sexo getGender() { return gender; } public void setGender(Sexo gender) { this.gender = gender; } @Override public String toString() { return this.getNome() + "\n" + this.getGender() + "\n" + this.getTel().getCodigoArea() + "\n" + this.getTel().getNumero() + "\n" + this.getIdade() + " anos"; } public void imprimir() { System.out.println("nome:" + this.getNome() + "\n" + "sexo:" + this.getGender() + "\n" + "codigo de area:" + this.getTel().getCodigoArea() + "\n" + "numero de telefone:" + this.getTel().getNumero() + "\n" + "idade:" + this.getIdade() + " anos"); } public static void imprimirListaOrdenadaPorNome(List lista) { lista.sort(new Comparator() { @Override public int compare(Pessoa o1, Pessoa o2) { return o1.getNome().compareTo(o2.getNome()); } }); } // public void imprimirLista(List lista, Sexo sexo) { // lista.forEach(p -> p.getGender().getId() == 1); // // } public static Pessoa lerDados() { int sexo; Pessoa pf = new Pessoa(); Scanner scan = new Scanner(System.in); System.out.println("digite o nome:"); pf.setNome(scan.nextLine()); System.out.println("digite a idade:"); pf.setIdade(scan.nextInt()); scan.nextLine();// GAMBIRA do java System.out.println("digite o codigo de area do telefone:"); pf.tel.setCodigoArea(scan.nextLine()); System.out.println("digite o numero do telefone:"); pf.tel.setNumero(scan.next()); System.out.println("digite 0 caso a pessoa seja homem, ou digite 1 caso seja mulher:"); sexo = scan.nextInt(); if (sexo == 0) { pf.setGender(Sexo.MASCULINO); } if (sexo == 1) { pf.setGender(Sexo.FEMININO); } System.out.println("=================="); return pf; } public static void imprimirLista(List lista) { for (Pessoa pessoa : lista) { System.out.println("=================="); pessoa.imprimir(); } } } class Telefone implements Impressao { private String codigoArea; private String numero; public Telefone() { } public Telefone(String codigoArea, String numero) { this.codigoArea = codigoArea; this.numero = numero; } public String getCodigoArea() { return codigoArea; } public void setCodigoArea(String codigoArea) { this.codigoArea = codigoArea; } public String getNumero() { return numero; } public void setNumero(String numero) { this.numero = numero; } @Override public void imprimir() { System.out.println("codigo de area : " + this.getCodigoArea() + "numero de telefone" + this.getNumero()); } } enum Sexo { MASCULINO(0), FEMININO(1); private int id; private Sexo(int id) { this.id = id; } public int getId() { return id; } } public class Questao1 { public static void main(String[] args) { Pessoa p1 = new Pessoa("cleiton", 72, Sexo.MASCULINO); // desnessario // Sexo sexP1 = Sexo.FEMININO; // construtor ja faz isso //p1.setGender(Sexo.FEMININO); Telefone tel1 = new Telefone("(63)", "8120-3040"); p1.setTel(tel1); System.out.println(p1); } }