Advertisement
Marisichka

Person

Dec 16th, 2022
1,134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.59 KB | None | 0 0
  1. package org.example;
  2. import java.util.Comparator;
  3. import java.util.Objects;
  4.  
  5. public class Person implements Comparable<Person> {
  6.  
  7.     protected String name;
  8.     public int age;
  9.  
  10.     public Person(String name, int age) { // конструктор
  11.  
  12.         if (name.length() < 2)
  13.             throw new IllegalArgumentException("Name should have > 2 letters");
  14.         if (age < 0)
  15.             throw new IllegalArgumentException("Age can't be < 0");
  16.  
  17.         this.name = name;
  18.         this.age = age;
  19.     }
  20.  
  21.     public String getName() { // гетер імені
  22.         return name;
  23.     }
  24.  
  25.     public int getAge() { // гетер віку
  26.         return age;
  27.     }
  28.  
  29.     public void setName(String name) {
  30.         if (name.length() < 2 || name.isEmpty())
  31.             throw new IllegalArgumentException("Name should have > 2 letters");
  32.  
  33.         this.name = name;
  34.     }
  35.  
  36.     public void setAge(int age) {
  37.         if (age < 0)
  38.             throw new IllegalArgumentException("Age can't be < 0");
  39.  
  40.         this.age = age;
  41.     }
  42.  
  43.     @Override
  44.     public String toString() { // метод для отримання рядкового представлення об'єкта toString
  45.         return "Hey! " +
  46.                 "I'm " + name +
  47.                 ", my age is " + age;
  48.     }
  49.  
  50.     @Override
  51.     public int compareTo(Person people) {
  52.         Objects.requireNonNull(people);
  53.  
  54.         if(this.age == people.getAge()) {
  55.             return 0;
  56.         } else if (this.age < people.getAge()){
  57.             return -1;
  58.         } else {
  59.             return 1;
  60.         }
  61.     }
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement