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());
}