1 import java.io.IOException;
2 import java.util.Scanner;
3
4 /**
5 This program demonstrates random access. You can access
6 existing accounts and deposit money, or create new accounts.
7 The accounts are saved in a random access file.
8 */
9 public class BankSimulator
10 {
11 public static void main(String[] args) throws IOException
12 {
13 Scanner in = new Scanner(System.in);
14 BankData data = new BankData();
15 try
16 {
17 data.open("bank.dat");
18
19 boolean done = false;
20 while (!done)
21 {
22 System.out.print("Account number: ");
23 int accountNumber = in.nextInt();
24 System.out.print("Amount to deposit: ");
25 double amount = in.nextDouble();
26
27 int position = data.find(accountNumber);
28 BankAccount account;
29 if (position >= 0)
30 {
31 account = data.read(position);
32 account.deposit(amount);
33 System.out.println("New balance: " + account.getBalance());
34 }
35 else // Add account
36 {
37 account = new BankAccount(accountNumber, amount);
38 position = data.size();
39 System.out.println("Adding new account.");
40 }
41 data.write(position, account);
42
43 System.out.print("Done? (Y/N) ");
44 String input = in.next();
45 if (input.equalsIgnoreCase("Y")) { done = true; }
46 }
47 }
48 finally
49 {
50 data.close();
51 }
52 }
53 }
54
55
56
57
58
59
60
61
62
63
64
65