Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // The Person Class uses get methods and returns appropriate data
- // Renee Waggoner
- // July 17, 2019
- // Special Requirements: None
- package family;
- public class Person {
- private String name;
- private int age;
- // default constructor, no parameters
- public Person() {
- }
- // constructor with 2 parameters
- public Person(String name, int age)
- {
- this.name = name;
- this.age = age;
- }
- // using toString allows us to return values without writing as much code
- public String toString()
- {
- return "Person [name: " + name + ", age: " + age + "]";
- }
- public boolean equals(Object obj)
- {
- // creating path for display data
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- Person other = (Person) obj;
- if (age != other.age)
- return false;
- if (name == null) {
- if (other.name != null)
- return false;
- } else if (!name.equals(other.name))
- return false;
- return true;
- }
- // call getName method to return name
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public int getAge() {
- return age;
- }
- public void setAge(int age) {
- this.age = age;
- }
- }
- ---------------------------------------------------------------------------------------------------------------------------------------
- // Student Class extends Person Class and uses methods to return data
- // Renee Waggoner
- // July 17, 2019
- // Special Requirements: None
- package family;
- class Student extends Person {
- private String major;
- private double gpa;
- public Student(String name, int age, String major, double gpa) {
- super(name, age);
- this.major = major;
- this.gpa = gpa;
- }
- public Student() {
- }
- public String getMajor() {
- return major;
- }
- public void setMajor(String major) {
- this.major = major;
- }
- public double getGpa() {
- return gpa;
- }
- public void setGpa(double gpa) {
- this.gpa = gpa;
- }
- public String toString() {
- return "Student [major: " + major + ", gpa: " + gpa + ", name: " + getName() + ", age: " + getAge() + "]";
- }
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (!super.equals(obj))
- return false;
- if (getClass() != obj.getClass())
- return false;
- Student other = (Student) obj;
- if (gpa != other.gpa)
- return false;
- if (major == null) {
- if (other.major != null)
- return false;
- } else if (!major.equals(other.major))
- return false;
- return true;
- }
- }
- ---------------------------------------------------------------------------------------------------------------------------------------
- // The Family Class contains an array of Person that is the size_of_family, checks size and prints
- // Renee Waggoner
- // July 17, 2019
- // Special Requirements: None
- package family;
- public class Family {
- Person familyPersons[];
- int numPersons = 0;
- Family(int size_of_family) {
- familyPersons = new Person[size_of_family];
- }
- void addPerson(Person p) {
- for (int i = 0; i < numPersons; i++) {
- if (familyPersons[i].equals(p))
- {
- // if duplicate is found
- System.out.println("Duplicate entry: " + p);
- return;
- }
- }
- // continue without adding duplicate
- if (numPersons != familyPersons.length)
- {
- familyPersons[numPersons++] = p;
- } else {
- System.out.println("Family array full. Skipping: " + p);
- }
- }
- void printOutFamily()
- {
- for (int i = 0; i < numPersons; i++)
- {
- System.out.println (familyPersons[i].toString());
- }
- }
- public static void main(String[] args) {
- Family f = new Family(8);
- Person fred = new Person("Fred Flintstone", 50);
- System.out.println("created " + fred);
- f.addPerson(fred);
- f.addPerson(fred);
- Student fredStudent = new Student("Fred Flintstone", 50, "Math", 3.1);
- System.out.println("created " + fredStudent);
- f.addPerson(fredStudent);
- Person wilma = new Person("Wilma Flintstone", 48);
- f.addPerson(wilma);
- Student george = new Student("George", 21, "Politics", 3.1);
- System.out.println("created " + george);
- f.addPerson(george);
- george.setName("Georgie");
- f.addPerson(new Student("George", 21, "Politics", 3.1));
- f.addPerson(new Student("John", 18, "Geology", 2.9));
- f.addPerson(new Student("Jane", 21, "Music", 3.2));
- f.addPerson(new Student("Tarzan", 22, "Gymnastics", 4.0));
- f.addPerson(new Student("Jim", 21, "Physics", 2.5));
- f.addPerson(new Person("Robert", 18));
- f.addPerson(new Person("Clemente", 32));
- System.out.println("****** family listing: ");
- f.printOutFamily();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment