forked from angiejones/java-programming
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPhoneBill.java
More file actions
92 lines (74 loc) · 2.15 KB
/
Copy pathPhoneBill.java
File metadata and controls
92 lines (74 loc) · 2.15 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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
package exercises.chapter6;
public class PhoneBill {
private int id;
private double baseCost;
private int allottedMinutes;
private int minutesUsed;
public PhoneBill(){
id = 0;
baseCost = 79.99;
allottedMinutes = 800;
minutesUsed = 800;
}
public PhoneBill(int id){
this.id = id;
baseCost = 79.99;
allottedMinutes = 800;
minutesUsed = 800;
}
public PhoneBill(int id, double baseCost, int allottedMinutes, int minutesUsed){
this.id = id;
this.baseCost = baseCost;
this.allottedMinutes = allottedMinutes;
this.minutesUsed = minutesUsed;
}
public int getId(){
return id;
}
public void setId(int id){
this.id = id;
}
public double getBaseCost(){
return baseCost;
}
public void setBaseCost(double baseCost){
this.baseCost = baseCost;
}
public int getAllottedMinutes(){
return allottedMinutes;
}
public void setAllottedMinutes(int minutes){
allottedMinutes = minutes;
}
public int getMinutesUsed(){
return minutesUsed;
}
public void setMinutesUsed(int minutes){
minutesUsed = minutes;
}
public double calculateOverage(){
if(minutesUsed <= allottedMinutes){
return 0;
}
double overageRate = 0.25;
double overageMinutes = minutesUsed - allottedMinutes;
return overageMinutes * overageRate;
}
public double calculateTax(){
double taxRate = 0.15;
return taxRate * (baseCost + calculateOverage());
}
public double calculateTotal(){
return baseCost + calculateOverage() + calculateTax();
}
public void printItemizedBill(){
System.out.println("ID: " + id);
System.out.println("Base Rate: $" + baseCost);
System.out.println("Overage Fee: $"
+ String.format("%.2f", calculateOverage()));
System.out.println("Tax: $"
+ String.format("%.2f", calculateTax()));
System.out.println("Total: $"
+ String.format("%.2f", calculateTotal()));
}
}