-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathExp53.java
More file actions
76 lines (63 loc) · 2.09 KB
/
Exp53.java
File metadata and controls
76 lines (63 loc) · 2.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
class Worker {
protected String name;
protected double salaryRate;
public Worker(String name, double salaryRate) {
this.name = name;
this.salaryRate = salaryRate;
}
public double computePay(int hours) {
return hours * salaryRate;
}
public void displayInfo() {
System.out.println("Name: " + name);
System.out.println("Salary Rate: $" + salaryRate);
}
}
class DailyWorker extends Worker {
public DailyWorker(String name, double dailyRate) {
super(name, dailyRate);
}
@Override
public double computePay(int hours) {
int daysWorked = hours / 8;
return salaryRate * daysWorked;
}
@Override
public void displayInfo() {
super.displayInfo();
System.out.println("Worker Type: Daily Worker");
System.out.println("Daily Rate: $" + salaryRate);
}
}
class SalariedWorker extends Worker {
public SalariedWorker(String name, double weeklyRate) {
super(name, weeklyRate);
}
@Override
public double computePay(int hours) {
return salaryRate;
}
@Override
public void displayInfo() {
super.displayInfo();
System.out.println("Worker Type: Salaried Worker");
System.out.println("Weekly Rate: $" + salaryRate);
}
}
public class Exp53 {
public static void main(String[] args) {
DailyWorker dailyWorker = new DailyWorker("John Doe", 150.0);
SalariedWorker salariedWorker = new SalariedWorker("Jane Smith", 1200.0);
int[] hoursWorked = {20, 40, 45};
System.out.println("----- Daily Worker -----");
dailyWorker.displayInfo();
for (int hours : hoursWorked) {
System.out.println("Pay for " + hours + " hours: $" + dailyWorker.computePay(hours));
}
System.out.println("\n----- Salaried Worker -----");
salariedWorker.displayInfo();
for (int hours : hoursWorked) {
System.out.println("Pay for " + hours + " hours: $" + salariedWorker.computePay(hours));
}
}
}