154k views
4 votes
Create a class named Person that holds the following fields: two String objects for the person’s first and last name and a LocalDate object for the person’s birthdate. Create a class named Couple that contains two Person objects. Create a class named Wedding for a wedding planner that includes the date of the wedding, the Couple being married, and a String for the location.

2 Answers

1 vote

Answer:

See explaination

Step-by-step explanation:

// Person.java

import java.time.LocalDate;

public class Person {

//attributes

private String firstName;

private String lastName;

private LocalDate birthDate;

//constructor initializing all fields

public Person(String firstName, String lastName, LocalDate birthDate) {

this.firstName = firstName;

this.lastName = lastName;

this.birthDate = birthDate;

}

//getter methods

public String getFirstName() {

return firstName;

}

public String getLastName() {

return lastName;

}

public LocalDate getBirthDate() {

return birthDate;

}

//returns a String containing first and last names

public String toString() {

return firstName + " " + lastName;

}

}

// Couple.java

public class Couple {

//Persons getting married

private Person person1;

private Person person2;

//constructor

public Couple(Person person1, Person person2) {

this.person1 = person1;

this.person2 = person2;

}

//getters

public Person getPerson1() {

return person1;

}

public Person getPerson2() {

return person2;

}

}

// Wedding.java

import java.time.LocalDate;

public class Wedding {

//date of wedding

private LocalDate weddingDate;

//Couple getting married

private Couple couple;

//constructor

public Wedding(LocalDate weddingDate, Couple couple) {

this.weddingDate = weddingDate;

this.couple = couple;

}

//getters

public LocalDate getWeddingDate() {

return weddingDate;

}

public Couple getCouple() {

return couple;

}

atOverride

public String toString() {

return couple.getPerson1()+" weds "+couple.getPerson2();

}

}

// TestWedding.java

import java.time.LocalDate;

import java.time.format.DateTimeFormatter;

public class TestWedding {

//method to display details about a wedding

public static void display(Wedding wedding) {

System.out.println("***Wedding***");

System.out.println("Person 1: " + wedding.getCouple().getPerson1());

System.out.println("Person 2: " + wedding.getCouple().getPerson2());

System.out.println("Date: " + wedding.getWeddingDate().format(DateTimeFormatter.ofPattern("dd/MMM/yyyy")));

}

public static void main(String[] args) {

//a DateTimeFormatter object for parsing date from String

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy");

//creating Couple 1

Couple c1 = new Couple(new Person("Oliver", "Queen", LocalDate.parse("11/01/1994",formatter)),

new Person("Felicity", "Smoak", LocalDate.parse("10/07/1996",formatter)));

//creating a Wedding

Wedding wedding1=new Wedding(LocalDate.parse("01/09/2019",formatter), c1);

//creating another couple and wedding

Couple c2 = new Couple(new Person("John", "Diggle", LocalDate.parse("01/08/1989",formatter)),

new Person("Lyla", "Michaels", LocalDate.parse("03/07/1990",formatter)));

Wedding wedding2=new Wedding(LocalDate.parse("08/09/2019",formatter), c2);

//displaying both

display(wedding1);

display(wedding2);

}

}

User Shaked Sayag
by
7.9k points
1 vote

Answer:

Check the explanation

Step-by-step explanation:

I have added comments in the code for your easy reference.

//Code for this solution

//File: Person.java

import java.time.LocalDate;

//Person class

public class Person {

//Member variables

private String firstName;

private String lastName;

private LocalDate birthDate;

//Paramterized constructors that initializes all the member variables

public Person(String fName, String lName, LocalDate bDate) {

firstName = fName;

lastName = lName;

birthDate = bDate;

}

//Getter methods for each of the member variables

public String getFirstName() {

return firstName;

}

public String getLastName() {

return lastName;

}

public LocalDate getBirthDate() {

return birthDate;

}

}

//File: Couple.java

//Couple class

public class Couple {

//Member variables

private Person person1;

private Person person2;

//Paramterized constructors that initializes all the member variables

public Couple(Person p1, Person p2) {

person1 = p1;

person2 = p2;

}

//Getter methods for each of the member variables

public Person getFirstPerson() {

return person1;

}

public Person getSecondPerson() {

return person2;

}

}

//File: Wedding.java

import java.util.Date;

//Wedding class

public class Wedding {

//Member variables

private Date weddingDate;

private Couple couple;

private String location;

//Paramterized constructors that initializes all the member variables

public Wedding(Date date, Couple c, String wedLocation) {

weddingDate = date;

couple = c;

location = wedLocation;

}

//Getter methods for each of the member variables

public Date getWeddingDate() {

return weddingDate;

}

public Couple getCouple() {

return couple;

}

public String getLocation() {

return location;

}

}

//File: TestWedding.java

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.time.LocalDate;

import java.time.format.DateTimeFormatter;

//Test driver class

public class TestWedding {

private static SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");

//Method to display Wedding details - Couple, Location and Wedding date

public static void displayWedding(Wedding w) {

System.out.println("");

System.out.println("=== Wedding details ===");

Person p1 = w.getCouple().getFirstPerson();

Person p2 = w.getCouple().getSecondPerson();

System.out.println(p1.getFirstName() + " " + p2.getLastName() + "(born " + p1.getBirthDate().format(DateTimeFormatter.ISO_DATE) + ")"

+ " weds " + p2.getFirstName() + " " + p2.getLastName() + "(born " + p2.getBirthDate().format(DateTimeFormatter.ISO_DATE) + ")");

System.out.println("ON");

System.out.println( simpleDateFormat.format( w.getWeddingDate()));

System.out.println("AT");

System.out.println(w.getLocation());

}

//Test method - to create Person, Couple and Wedding objects

public static void main(String[] args) throws ParseException {

//Create Person objects

Person p10 = new Person("John", "Howard", LocalDate.of(2000, 10, 1));

Person p11 = new Person("Mary", "Eliza", LocalDate.of(2002, 1, 2));

//Create Couple object with above data

Couple c1 = new Couple(p10, p11);

//Create Wedding Object

Wedding w1 = new Wedding( simpleDateFormat.parse("2019-05-06"), c1, "CountrySide");

//Display Wedding details

displayWedding(w1);

Person p20 = new Person("James", "Howler", LocalDate.of(1999, 5, 1));

Person p21 = new Person("Jenny", "Hertz", LocalDate.of(2005, 4, 25));

Couple c2 = new Couple(p20, p21);

Wedding w2 = new Wedding(simpleDateFormat.parse("2019-10-02"), c2, "Mary Islands");

displayWedding(w2);

}

}

Kindly check the attached image below for the code output.

Create a class named Person that holds the following fields: two String objects for-example-1
Create a class named Person that holds the following fields: two String objects for-example-2
User Macka
by
7.2k points