Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

3. Design a super class called Staff with details as StaffId, Name, Phone, Salary.

Extend this
class by writing three subclasses namely Teaching (domain, publications), Technical (skills),
and Contract (period). Write a Java program to read and display at least 3 staff objects of
all three categories.
StaffDemo.java
package prog2a;
import java.util.Scanner;
public class StaffDemo {
public static void main(String[] args) {
int i,choice;
String staffId,name,phoneNumber,domain,publication,skills,period;
float salary;
int tc=0,techcount=0,cc=0;
Teaching[] ts = new Teaching[10];
Technical[] techstaff = new Technical[10];
Contract[] cs = new Contract[10];
Scanner scanner = new Scanner(System.in);
for(;;)
{
System.out.println("Enter your choice");
System.out.println("1 Teaching Staff Entry");
System.out.println("2 Technical Staff Entry");
System.out.println("3 Contract Staff Entry");
System.out.println("4 Teaching Staff Details");
System.out.println("5 Technical Staff Details");
System.out.println("6 Contract Staff Details");
System.out.println("7.Exit");
choice = scanner.nextInt();
switch(choice)
{
case1:System.out.println("Enter Teaching
Details(StaffId,Name,Salary,PhoneNumber,Domain,Publication)");
staffId = scanner.next();
name = scanner.next();
salary = scanner.nextFloat();
phoneNumber = scanner.next();
domain = scanner.next();
publication = scanner.next();
ts[tc]= new Teaching(staffId,name,salary,phoneNumber,domain,publication);
tc++;
break;
case 2:System.out.println("Enter Technical staffDetails(StaffId,Name,Salary,
PhoneNumber,Skills)");
staffId = scanner.next();
name = scanner.next();
salary = scanner.nextFloat();
phoneNumber = scanner.next();
skills = scanner.next();
techstaff[techcount] =new Technical(staffId,name,salary,phoneNumber,skills);
techcount++;
break;
case 3:System.out.println("Enter Contract staff details (StaffId,Name,Salary,
PhoneNumber,Period)");
staffId = scanner.next();
name = scanner.next();
salary = scanner.nextFloat();
phoneNumber = scanner.next();
period = scanner.next();
cs[cc] = new Contract(staffId,name,salary, phoneNumber ,period);
cc++;
break;
case 4:if(tc==0)
System.out.println("No teaching staff details available");
else
{
System.out.println("Teaching Staff Details");
System.out.println("StaffId"+"\t"+"Name"+"\t"+"Salary"+"\t"+"PhoneNumber"+"\t"+
"Domain"+"\t"+"Publication");
for(i=0;i<tc;i++)
System.out.println(ts [i]);
}
break;
case 5:if(techcount==0)
System.out.println("No technical staff details available");
else
{
System.out.println("Technical Staff Details:");
System.out.println("StaffId"+"\t"+"Name"+"\t"+"Salary"+"\t"+"PhoneNumber"+"\t"+
"Skills");
for(i=0;i<techcount;i++)
System.out.println(techstaff[i]);
}
break;
case 6:if(cc==0)
System.out.println("No contract staff details available");
else
{
System.out.println("contract StaffDetails:");
System.out.println("StaffId"+"\t"+"Name"+"\t"+"Salary"+"\t"+"PhoneNumber"+"\t"+
"period");
for(i=0;i<cc;i++)
System.out.println(cs[i]);
}
break;
case 7:System.exit(0);
}
}
}
}
Staff.java
package prog2a;
public class Staff {
protected String staffId,name,phoneNumber;
protected float salary;
public Staff(String staffId, String staffName, float staffSalary, String
staffPhoneNumber)
{
this.staffId = staffId;
this.name = staffName;
this.salary = staffSalary;
this.phoneNumber = staffPhoneNumber;
}
public String toString()
{
return staffId + " " + name + " " + salary + " " + phoneNumber ;
}
}
Teaching.java
package prog2a;
public class Teaching extends Staff {
private String domain;
private String publication;
public Teaching(String staffId, String name, float salary, String phoneNumber,String domain,
String publication)
{
super(staffId, name, salary, phoneNumber);
this.domain = domain;
this.publication = publication;
}
public String toString()
{
return staffId+ " " + name +" " +salary+ " " +phoneNumber+" " + domain +" "
+publication;
}
}
Contract.java
package prog2a;
public class Contract extends Staff{
private String period;
public Contract(String staffId, String staffName, float staffSalary, String
staffPhoneNumber,String staffPeriod)
{
super(staffId, staffName, staffSalary,staffPhoneNumber);
period = staffPeriod;
}
public String toString()
{
return super.toString()+ " " + period ;
}
}
Technical.java
package prog2a;
public class Technical extends Staff {
private String skills;
public Technical(String staffId, String name, float salary, String phoneNumber,String
skills)
{
super(staffId, name, salary, phoneNumber);
this.skills = skills;
}
public String toString()
{
return super.toString() + " "+skills;
}
}

You might also like