Skip to content
Novus Examples
java1.5 KB

Java — Bank account (class, record, exceptions)

A realistic Java class with a package declaration, fields, a nested record, methods that throw exceptions, and formatted output — for testing highlighters, javac, Checkstyle, and parsers.

Preview — first 49 linesjava
// A small bank-account model: fields, a constructor, methods,
// exceptions, a record, and formatted output.
package com.example.bank;

import java.util.ArrayList;
import java.util.List;

public class BankAccount {
    private final String owner;
    private long balanceCents;
    private final List<Transaction> history = new ArrayList<>();

    public record Transaction(String kind, long amountCents) {}

    public BankAccount(String owner, long openingCents) {
        this.owner = owner;
        this.balanceCents = openingCents;
        history.add(new Transaction("open", openingCents));
    }

    public void deposit(long cents) {
        if (cents <= 0) {
            throw new IllegalArgumentException("deposit must be positive");
        }
        balanceCents += cents;
        history.add(new Transaction("deposit", cents));
    }

    public void withdraw(long cents) {
        if (cents > balanceCents) {
            throw new IllegalStateException("insufficient funds");
        }
        balanceCents -= cents;
        history.add(new Transaction("withdraw", -cents));
    }

    public double balance() {
        return balanceCents / 100.0;
    }

    public static void main(String[] args) {
        BankAccount account = new BankAccount("Jordan Rivera", 10_000);
        account.deposit(2_500);
        account.withdraw(1_200);
        System.out.printf("%s: $%.2f over %d transactions%n",
                account.owner, account.balance(), account.history.size());
    }
}

Specifications

Language
Java
Kind
realistic snippet
Lines
48
Encoding
UTF-8
Line Endings
LF

What is a .java file?

Java (.java) is a plain-text source file for the Java programming language — a statically typed, class-based, object-oriented language that compiles to JVM bytecode. It is widely used for enterprise back-ends, Android apps, and large systems, and emphasises explicit types and classes.

How to use this file

Use an example .java file to test syntax highlighters, the javac compiler, linters and formatters (Checkstyle, google-java-format), and parser or language-detection tooling.

Generated by generation/code_samples.py. Free for any use, no attribution required — license.