-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathExpense.java
More file actions
124 lines (90 loc) · 3.52 KB
/
Expense.java
File metadata and controls
124 lines (90 loc) · 3.52 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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
// -------------------------------------------------------------------------------------------
// Assignment ( 4 )
// Written by: ( JAD ARAMOUNI 40244750 ; ADAM CHAMI 40248165 )
// For COMP 248 Section ( R ) – Fall 2022
// -------------------------------------------------------------------------------------------
//The Expense class will be used in the householdbudget class as well.
//Its methods are mainly related to adding expenses and describing their aspects like business name, amount, etc.
public class Expense {
private String expenseType;
private double amount;
private String buisnessName;
private int payementDueMonth;
private int payementDueDay;
//Constructors
public Expense(String expenseType, double amount, String buisnessName, int payementDueMonth,int payementDueDay)
{
// Setting month due
if (payementDueMonth <13 && payementDueMonth > 0) //if invalid month, set to 0
this.payementDueMonth = payementDueMonth;
else this.payementDueMonth = 0;
// Setting day due
if (payementDueDay <32 && payementDueDay > 0) //if invalid day, set to 0
this.payementDueDay = payementDueDay;
else this.payementDueDay = 0;
// Setting expenseType
this.expenseType = expenseType;
// Setting buisnessName
this.buisnessName = buisnessName;
// Setting the amount due
this.amount = amount;
}
public Expense() //default constructor
{
this.payementDueMonth = 0;
this.payementDueDay = 0;
this.expenseType = null;
this.buisnessName = null;
this.amount = 0.0;
}
public Expense(Expense anExpense) //copy constructor
{
this.payementDueMonth = anExpense.payementDueMonth;
this.payementDueDay = anExpense.payementDueDay;
this.expenseType = anExpense.expenseType;
this.buisnessName = anExpense.buisnessName;
this.amount = anExpense.amount;
}
public int getPayementDueMonth() { //accessor method
return payementDueMonth;
}
public void setPayementDueMonth(int payementDueMonth) { //mutator method
if (payementDueMonth < 13 && payementDueMonth > 0)
this.payementDueMonth = payementDueMonth;
else this.payementDueMonth = 0;
}
public int getPayementDueDay() {
return payementDueDay;
}
public void setPayementDueDay(int payementDueDay) {
if (payementDueDay <32 && payementDueDay > 0)
this.payementDueDay = payementDueDay;
else this.payementDueDay = 0;
}
public String getExpenseType() {
return expenseType;
}
public double getAmount() {
return amount;
}
public String getBuisnessName() {
return buisnessName;
}
public String toString() { //describes each expense and all its aspects
String tempDueDay = null, tempDueMonth = null;
if(payementDueMonth <10)
tempDueMonth = "0"+payementDueMonth;
else tempDueMonth = ""+payementDueMonth;
if(payementDueDay <10)
tempDueDay = "0"+payementDueDay;
else tempDueDay = ""+payementDueDay;
return( "Expense Type: " + expenseType +".\nBuisness Name: "+ buisnessName + ".\n" + "Payement Due Date: " + tempDueDay+"/"+tempDueMonth + "\n" );
}
public static boolean equals(Expense Obj1,Expense Obj2) { //verifies if each aspect of two expenses is the same, if not then returns false
return(Obj1.getAmount()==Obj2.getAmount()&&
Obj1.getBuisnessName().equals(Obj2.getBuisnessName())&&
Obj1.getExpenseType().equals(Obj2.getExpenseType())&&
Obj1.getPayementDueDay()==Obj2.getPayementDueDay()&&
Obj1.getPayementDueMonth()==Obj2.getPayementDueDay());
}
}