LedgerEntry Class in Android
public class LedgerEntry {
private String date;
private String description;
private double debit;
private double credit;
private double balance;
public LedgerEntry(String date, String description, double debit, double credit, double balance) {
this.date = date;
this.description = description;
this.debit = debit;
this.credit = credit;
this.balance = balance;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public double getDebit() {
return debit;
}
public void setDebit(double debit) {
this.debit = debit;
}
public double getCredit() {
return credit;
}
public void setCredit(double credit) {
this.credit = credit;
}
public double getBalance() {
return balance;
}
public void setBalance(double balance) {
this.balance = balance;
}
}
public class Ledger {
private ArrayList<LedgerEntry> entries;
public Ledger() {
entries = new ArrayList<>();
}
public void addEntry(String date, String description, double debit, double credit) {
double balance = 0;
if (entries.size() > 0) {
balance = entries.get(entries.size() - 1).getBalance();
}
balance += (credit - debit);
entries.add(new LedgerEntry(date, description, debit, credit, balance));
}
public ArrayList<LedgerEntry> getEntries() {
return entries;
}
}
//use
Ledger ledger = new Ledger();
ledger.addEntry("2023-03-18", "Sales", 0, 100.00);
ledger.addEntry("2023-03-19", "Expenses", 50.00, 0);
ledger.addEntry("2023-03-20", "Sales", 0, 75.00);
ArrayList<LedgerEntry> entries = ledger.getEntries();
for (LedgerEntry entry : entries) {
System.out.println(entry.getDate() + " - " + entry.getDescription() + " - " + entry.getDebit() + " - " + entry.getCredit() + " - " + entry.getBalance());
}