Must use Object Oriented Programming Write a program that mo
Must use Object Oriented Programming
Write a program that models an employee. An employee has an employee number, a name, an address, and a hire date. A name consists of a first name and a last name. An address consists of a street, a city, a state (2 characters), and a 5-digit zip code. A date consists of an integer month, day and year. All fields are required to be non-blank. The Date fields should be reasonably valid values (ex. month 1-12, day 1-31, year > 1900 andSolution
driver.java
import java.util.Scanner;
import java.util.*;
public class driver
{
public static void main(String[] args)
{
int n_emp;
Scanner scanner = new Scanner(System.in);
System.out.println(\"Please Enter number of employees\");
n_emp = scanner.nextInt();
employee array[]=new employee[n_emp];
int i = 0;
while(i<n_emp)
{
String s1,s2,s3;
System.out.println(\"Please Enter firstname of employee\");
s1 = scanner.next();
System.out.println(\"Please Enter lastname of employee\");
s2 = scanner.next();
name n = new name(s1, s2);
int i1,i2,i3;
while(true)
{
System.out.println(\"Please Enter Hiring year\");
i1 = scanner.nextInt();
if(i1 > 1900 && i1 < 2020)
{
break;
}
else
{
System.out.println(\"Please Enter year in range 1900 < y < 2020\");
}
}
while(true)
{
System.out.println(\"Please Enter Hiring month\");
i2 = scanner.nextInt();
if(i2 > 0 && i2 < 13)
{
break;
}
else
{
System.out.println(\"Please Enter month in range 1 <= m < 12\");
}
}
while(true)
{
System.out.println(\"Please Enter Hiring day\");
i3 = scanner.nextInt();
if(i3 > 0 && i3 < 32)
{
break;
}
else
{
System.out.println(\"Please Enter day in range 1 <= m <= 31\");
}
}
date d = new date(i3,i2,i1);
System.out.println(\"Please Enter street name of employee\");
s1 = scanner.next();
System.out.println(\"Please Enter city of employee\");
s2 = scanner.next();
System.out.println(\"Please Enter state of employee\");
s3 = scanner.next();
System.out.println(\"Please Enter zipcode\");
i3 = scanner.nextInt();
adress a = new adress(s1, s2, s3, i3);
System.out.println(\"Please Enter employee number\");
i1 = scanner.nextInt();
employee e =new employee(i1,n,d,a);
e.myname.fname = n.fname;
e.myname.lname = n.lname;
e.mydate.month = d.month;
e.mydate.day = d.day;
e.mydate.year = d.year;
e.myadress.street = a.street;
e.myadress.state = a.state;
e.myadress.city = a.city;
e.myadress.zipcode = a.zipcode;
array[i] = e;
i++;
}
System.out.println(\"All employees: \");
for (i = 0 ; i< n_emp; i++)
{
System.out.println( array[i].number + \" \"+ array[i].myname.fname + \" \" + array[i].myname.lname + \" \" + array[i].mydate.year + \" \"+ array[i].myadress.city);
}
}
}
adress.java
public class adress
{
public String street ;
public String state ;
public String city;
public int zipcode;
public adress(String street, String state, String city, int zipcode) {
this.street = street;
this.state = state;
this.city = city;
this.zipcode = zipcode;
}
public adress() {
this.street = \"\";
this.state = \"\";
this.city = \"\";
this.zipcode = 0;
}
}
date.java
public class date
{
public int month;
public int day;
public int year;
public date(int month, int day, int year) {
this.month = month;
this.day = day;
this.year = year;
}
public date() {
this.month = 0;
this.day = 0;
this.year = 0;
}
}
employee.java
public class employee
{
public int number;
public date mydate;
public adress myadress;
public name myname;
public employee(int number, name myname, date mydate, adress myadress) {
this.number = number;
this.mydate = new date();
this.myadress = new adress();
this.myname = new name();
}
public employee() {
this.number = number;
this.mydate = new date();
this.myadress = new adress();
this.myname = new name();
}
}
name.java
public class name
{
public String fname;
public String lname;
public name(String fname, String lname) {
this.fname = fname;
this.lname = lname;
}
public name() {
this.fname = \"\";
this.lname = \"\";
}
}
Sample Output:
Please Enter number of employees
2
Please Enter firstname of employee
akash
Please Enter lastname of employee
baviskar
Please Enter Hiring year
2016
Please Enter Hiring month
12
Please Enter Hiring day
8
Please Enter street name of employee
HauzKhas
Please Enter city of employee
NewDelhi
Please Enter state of employee
Delhi
Please Enter zipcode
11001
Please Enter employee number
1
Please Enter firstname of employee
Sagar
Please Enter lastname of employee
Baviskar
Please Enter Hiring year
2017
Please Enter Hiring month
1
Please Enter Hiring day
1
Please Enter street name of employee
katraj
Please Enter city of employee
pune
Please Enter state of employee
maharashtra
Please Enter zipcode
11002
Please Enter employee number
1
All employees:
1 akash baviskar 2016 Delhi
1 Sagar Baviskar 2017 maharashtra



