andresnogales

Person.java

Sep 15th, 2021 (edited)
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.60 KB | None | 0 0
  1. import java.time.LocalDate;
  2. import java.time.format.DateTimeFormatter;
  3. import java.time.temporal.ChronoUnit;
  4. import java.util.ArrayList;
  5.  
  6. public class Person {
  7.     private String firstName;
  8.     private String lastName;
  9.     private Integer dni;
  10.     private LocalDate birthDate;
  11.     private ArrayList<String> emails;
  12.     private String cellphone;
  13.    
  14.     public Person() {
  15.         this.emails = new ArrayList<String>();
  16.     }
  17.  
  18.     public Person(String firstName, String lastName, Integer dni,
  19.             LocalDate birthDate, ArrayList<String> emails, String cellphone) {
  20.         this.firstName = firstName;
  21.         this.lastName = lastName;
  22.         this.dni = dni;
  23.         this.birthDate = birthDate;
  24.         this.emails = emails;
  25.         this.cellphone = cellphone;
  26.     }
  27.  
  28.     public String getFirstName() {
  29.         return firstName;
  30.     }
  31.  
  32.     public void setFirstName(String firstName) {
  33.         this.firstName = firstName;
  34.     }
  35.  
  36.     public String getLastName() {
  37.         return lastName;
  38.     }
  39.  
  40.     public void setLastName(String lastName) {
  41.         this.lastName = lastName;
  42.     }
  43.  
  44.     public Integer getDni() {
  45.         return dni;
  46.     }
  47.  
  48.     public void setDni(Integer dni) {
  49.         this.dni = dni;
  50.     }
  51.  
  52.     public LocalDate getBirthDate() {
  53.         return birthDate;
  54.     }
  55.  
  56.     public void setBirthDate(LocalDate birthDate) {
  57.         this.birthDate = birthDate;
  58.     }
  59.  
  60.     public ArrayList<String> getEmails() {
  61.         return emails;
  62.     }
  63.    
  64.     public String getEmailsStr() {
  65.         StringBuilder emailsStr = new StringBuilder();
  66.         for (String email : emails) {
  67.             emailsStr.append("\n    " + email);
  68.         }
  69.         return emailsStr.toString();
  70.     }
  71.  
  72.     public void setEmails(ArrayList<String> email) {
  73.         this.emails = email;
  74.     }
  75.  
  76.     public String getCellphone() {
  77.         return cellphone;
  78.     }
  79.  
  80.     public void setCellphone(String cellphone) {
  81.         this.cellphone = cellphone;
  82.     }
  83.    
  84.     public int calculateAge() {
  85.         LocalDate now = LocalDate.now();
  86.         int age = (int) ChronoUnit.YEARS.between(birthDate, now);
  87.         return age;
  88.     }
  89.    
  90.  
  91.     public boolean bornInYearsRange(int start, int end) {
  92.         return birthDate.isBefore(LocalDate.parse(end + "-12-31")) //31 de diciembre
  93.                 && birthDate.isAfter(LocalDate.parse(start + "-01-01")) ; //1 de febrero
  94.     }
  95.    
  96.     @Override
  97.     public String toString() {
  98.        
  99.         DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy");
  100.         String dateStr = this.getBirthDate().format(formatter);
  101.        
  102.         return  "______________________________________________"
  103.                 + "\nNombre: " + firstName
  104.                 + "\nApellido: " + lastName
  105.                 + "\nDni: " + dni
  106.                 + "\nFecha de nacimiento: " + dateStr
  107.                 + "\nEdad: " + calculateAge()
  108.                 + "\nNΓΊmero de celular: " + cellphone
  109.                 + "\nCuentas de e-mails: " + emails.size() + getEmailsStr();
  110.     }
  111.    
  112.  
  113. }
  114.  
Add Comment
Please, Sign In to add comment