Can you help resolve these errors - I have a java program with four classes and
ID: 3731536 • Letter: C
Question
Can you help resolve these errors - I have a java program with four classes and one main class - they need to be broken up this way per the assignment. It worked when they were all in one .java file now they do not.
//Main
import java.util.Scanner;
import Employees.java;
import Address.java;
import Name.java;
import Date.java;
public class EmployeesSystem
{
public static void main(String[] args)
{
//Set the number of employees
System.out.println("Enter the Number of Employees: ");
Scanner scnr = new Scanner(System.in);
int n = scnr.nextInt();
// enter the values
//System.out.println("Enter the Data in Employee Array ");
int Id;
String first, last;
int month, day, year;
String streetNum, street, streetType, city, state;
int zip;
// Now creating Employee array of Size n
Employee[] EmpArr;
EmpArr = new Employee[n];
for (int i = 0; i < n; i++)
{
EmpArr[i] = new Employee();
System.out.println(" Enter the details for theEmployee "+(i+1));
System.out.println("Enter the Employee ID ");
Id = scnr.nextInt();
System.out.println("Enter the Employee First Name and Last Name ");
first = scnr.next();
last = scnr.next();
while (true)
{
System.out.println("Enter the Employee Hire Date "
+ ",i.e 3 11 2018, separated by a space");
month = scnr.nextInt();
day = scnr.nextInt();
year = scnr.nextInt();
if (month < 1 || month > 12 || day < 1 || day > 31
|| year < 1900 || year > 2020)
System.out.println("Invalid date. Please input again ");
else
break;
}
System.out.println("Enter the Address "
+ ",i.e street number, stree name, stree type, city, state and zip "
+ "separated by a space");
streetNum = scnr.next();
street = scnr.next();
streetType = scnr.next();
city = scnr.next();
state = scnr.next();
zip = scnr.nextInt();
EmpArr[i].setEmpId(Id);
EmpArr[i].setEmpName(first, last);
EmpArr[i].setHireDate(month, day, year);
EmpArr[i].setEmpAddress(streetNum, street, streetType, city, state,
zip);
scnr.nextLine();
}
// Now Print the Employee Data
Name xName;
Address xAddr;
Date xHireDate;
for (int i = 0; i < n; i++)
{
Id = EmpArr[i].getEmpNumb();
xName = EmpArr[i].getEmpName();
xAddr = EmpArr[i].getEmpAddress();
xHireDate = EmpArr[i].getHireDate();
System.out.println("Id " + Id + " Name " + xName.first + " "
+ xName.last);
System.out.println("Address : " + xAddr.streetNum + " "
+ xAddr.street + " " + xAddr.streetType + ", " + xAddr.city
+ " , " + xAddr.state + "," + xAddr.zip);
System.out.println("Hire Date: " + xHireDate.month + "-"
+ xHireDate.day + "-" + xHireDate.year);
System.out.println();
System.out.println();
}
}
}
//Employees.java (where the errors are)
import java.util.Scanner;
public class Employee
{
private int EmpNumb = 0;
private Name EmpName;
private Address EmpAddress;
private Date HireDate;
public Employee()
{
EmpNumb = 0;
EmpName = new Name();
EmpAddress = new Address();
HireDate = new Date();
}
public int getEmpNumb()
{
return EmpNumb;
}
public Name getEmpName()
{
EmpName.first = EmpName.getFirst();
EmpName.last = EmpName.getLast();
return EmpName;
}
public Address getEmpAddress()
{
EmpAddress.streetNum = EmpAddress.getStreetNum();
EmpAddress.street = EmpAddress.getStreet();
EmpAddress.streetType = EmpAddress.getStreetType();
EmpAddress.city = EmpAddress.getCity();
EmpAddress.state = EmpAddress.getState();
EmpAddress.zip = EmpAddress.getZip();
return EmpAddress;
}
public Date getHireDate()
{
HireDate.month = HireDate.getMonth();
HireDate.day = HireDate.getDay();
HireDate.year = HireDate.getYear();
return HireDate;
}
public void setEmpId(int Id)
{
EmpNumb = Id;
}
public void setEmpName(String first, String last)
{
EmpName.setName(first, last);
}
public void setHireDate(int month, int day, int year)
{
HireDate.setDate(month, day, year);
}
public void setEmpAddress(String streetNum, String street,
String streetType, String city, String state, int zip)
{
EmpAddress.setAddress(streetNum, street, streetType, city, state,
zip);
}
}
//Address.java
import java.util.Scanner;
public class Employee
{
private int EmpNumb = 0;
private Name EmpName;
private Address EmpAddress;
private Date HireDate;
public Employee()
{
EmpNumb = 0;
EmpName = new Name();
EmpAddress = new Address();
HireDate = new Date();
}
public int getEmpNumb()
{
return EmpNumb;
}
public Name getEmpName()
{
EmpName.first = EmpName.getFirst();
EmpName.last = EmpName.getLast();
return EmpName;
}
public Address getEmpAddress()
{
EmpAddress.streetNum = EmpAddress.getStreetNum();
EmpAddress.street = EmpAddress.getStreet();
EmpAddress.streetType = EmpAddress.getStreetType();
EmpAddress.city = EmpAddress.getCity();
EmpAddress.state = EmpAddress.getState();
EmpAddress.zip = EmpAddress.getZip();
return EmpAddress;
}
public Date getHireDate()
{
HireDate.month = HireDate.getMonth();
HireDate.day = HireDate.getDay();
HireDate.year = HireDate.getYear();
return HireDate;
}
public void setEmpId(int Id)
{
EmpNumb = Id;
}
public void setEmpName(String first, String last)
{
EmpName.setName(first, last);
}
public void setHireDate(int month, int day, int year)
{
HireDate.setDate(month, day, year);
}
public void setEmpAddress(String streetNum, String street,
String streetType, String city, String state, int zip)
{
EmpAddress.setAddress(streetNum, street, streetType, city, state,
zip);
}
}
//Name.java
import java.util.Scanner;
public class Employee
{
private int EmpNumb = 0;
private Name EmpName;
private Address EmpAddress;
private Date HireDate;
public Employee()
{
EmpNumb = 0;
EmpName = new Name();
EmpAddress = new Address();
HireDate = new Date();
}
public int getEmpNumb()
{
return EmpNumb;
}
public Name getEmpName()
{
EmpName.first = EmpName.getFirst();
EmpName.last = EmpName.getLast();
return EmpName;
}
public Address getEmpAddress()
{
EmpAddress.streetNum = EmpAddress.getStreetNum();
EmpAddress.street = EmpAddress.getStreet();
EmpAddress.streetType = EmpAddress.getStreetType();
EmpAddress.city = EmpAddress.getCity();
EmpAddress.state = EmpAddress.getState();
EmpAddress.zip = EmpAddress.getZip();
return EmpAddress;
}
public Date getHireDate()
{
HireDate.month = HireDate.getMonth();
HireDate.day = HireDate.getDay();
HireDate.year = HireDate.getYear();
return HireDate;
}
public void setEmpId(int Id)
{
EmpNumb = Id;
}
public void setEmpName(String first, String last)
{
EmpName.setName(first, last);
}
public void setHireDate(int month, int day, int year)
{
HireDate.setDate(month, day, year);
}
public void setEmpAddress(String streetNum, String street,
String streetType, String city, String state, int zip)
{
EmpAddress.setAddress(streetNum, street, streetType, city, state,
zip);
}
}
//Date.java
import java.util.Scanner;
public class Employee
{
private int EmpNumb = 0;
private Name EmpName;
private Address EmpAddress;
private Date HireDate;
public Employee()
{
EmpNumb = 0;
EmpName = new Name();
EmpAddress = new Address();
HireDate = new Date();
}
public int getEmpNumb()
{
return EmpNumb;
}
public Name getEmpName()
{
EmpName.first = EmpName.getFirst();
EmpName.last = EmpName.getLast();
return EmpName;
}
public Address getEmpAddress()
{
EmpAddress.streetNum = EmpAddress.getStreetNum();
EmpAddress.street = EmpAddress.getStreet();
EmpAddress.streetType = EmpAddress.getStreetType();
EmpAddress.city = EmpAddress.getCity();
EmpAddress.state = EmpAddress.getState();
EmpAddress.zip = EmpAddress.getZip();
return EmpAddress;
}
public Date getHireDate()
{
HireDate.month = HireDate.getMonth();
HireDate.day = HireDate.getDay();
HireDate.year = HireDate.getYear();
return HireDate;
}
public void setEmpId(int Id)
{
EmpNumb = Id;
}
public void setEmpName(String first, String last)
{
EmpName.setName(first, last);
}
public void setHireDate(int month, int day, int year)
{
HireDate.setDate(month, day, year);
}
public void setEmpAddress(String streetNum, String street,
String streetType, String city, String state, int zip)
{
EmpAddress.setAddress(streetNum, street, streetType, city, state,
zip);
}
}
//The Errors:
javac EmployeesSystem.java
EmployeesSystem.java:23: error: constructor Employee in class Employee cannot be applied to given types;
EmpArr[i] = new Employee();
^
required: int,Name,Address,Date
found: no arguments
reason: actual and formal argument lists differ in length
EmployeesSystem.java:53: error: cannot find symbol
EmpArr[i].setEmpId(Id);
^
symbol: method setEmpId(int)
location: class Employee
EmployeesSystem.java:54: error: cannot find symbol
EmpArr[i].setEmpName(first, last);
^
symbol: method setEmpName(String,String)
location: class Employee
EmployeesSystem.java:55: error: method setHireDate in class Employee cannot be applied to given types;
EmpArr[i].setHireDate(month, day, year);
^
required: Date
found: int,int,int
reason: actual and formal argument lists differ in length
EmployeesSystem.java:56: error: cannot find symbol
EmpArr[i].setEmpAddress(streetNum, street, streetType, city, state,
^
symbol: method setEmpAddress(String,String,String,String,String,int)
location: class Employee
EmployeesSystem.java:66: error: cannot find symbol
Id = EmpArr[i].getEmpNumb();
^
symbol: method getEmpNumb()
location: class Employee
EmployeesSystem.java:67: error: cannot find symbol
xName = EmpArr[i].getEmpName();
^
symbol: method getEmpName()
location: class Employee
EmployeesSystem.java:68: error: cannot find symbol
xAddr = EmpArr[i].getEmpAddress();
^
symbol: method getEmpAddress()
location: class Employee
Thank you in advance.
Explanation / Answer
Hi your import statements are wrong.
import Employees.java;
import Address.java;
import Name.java;
import Date.java;
Thats why you got the above errors.
If you put all of your classes in a package then you have not need to import this classes.
But if you have to do this in different package. And suppose your package name is "other".
then correct syntex of import statements are :
import other.Employees;
import other.Address;
import other.Name;
import other.Date;
Note : You need not to use import statement if all classes are in same package.
You provide only two classes. You copy Employee class three times insteed of provide other classes such as Name.java
If you got errors now also. please comment me for any other help. and give your all classes.