// ATM の「引き出し」と「預け入れ」機能のプログラム import java.io.*; import java.lang.*; public class ATM { public void withdrawal(String acc, String pass, int bal) { // 「引き出し」の機能の処理のメソッド // acc: 口座番号 // pass: 暗証番号 // bal: 引き出し機能を使う前の口座の残高 try { String str; int num, remain; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("口座番号を8桁で入力してください"); str = br.readLine(); while (!str.equals(acc)) { // 入力された口座番号が違っていたら、正しい番号が入力されるまで、入力のしなおし System.out.println("入力された口座番号は存在しません。口座番号を入力しなおしてください。"); str = br.readLine(); } System.out.println("暗証番号を入力してください"); str = br.readLine(); while (!str.equals(pass)) { // 入力された暗証番号が違っていたら、正しい番号が入力されるまで、入力のしなおし System.out.println("暗証番号が間違ってます。暗証番号を入力しなおしてください。"); str = br.readLine(); } System.out.println("引き出し金額を入力してください"); str = br.readLine(); num = Integer.parseInt(str); while (num > bal) { // 入力された引き出し金額が残高よりも大きかったら、適切な金額が入力されるまで、入力のしなおし System.out.println("入力された引き出し金額が残高よりも大きいため、引き出すことができません。引き出し金額を入力しなおしてください。"); str = br.readLine(); num = Integer.parseInt(str); } remain = bal - num; // 出金後の残高の計算 System.out.println(num + "円出金し、" + remain + "円の残高になりました"); } catch (IOException e) { } } public void deposit(String acc, int bal) { // 「預け入れ」の機能の処理のメソッド // acc: 口座番号 // bal: 預け入れ機能を使う前の口座の残高 try { String str; int num, remain; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("口座番号を8桁で入力してください"); str = br.readLine(); while (!str.equals(acc)) { // 入力された口座番号が違っていたら、正しい番号が入力されるまで、入力のしなおし System.out.println("入力された口座番号は存在しません。口座番号を入力しなおしてください。"); str = br.readLine(); } System.out.println("預け入れ金額を入力してください"); str = br.readLine(); num = Integer.parseInt(str); remain = bal + num; // 入金後の残高の計算 System.out.println(num + "円預け入れ、" + remain + "円の残高になりました"); } catch (IOException e) { } } public static void main(String[] args) { int balance = 1000000; String func, accnumber = "11111111", passnumber = "1234"; try { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("何の処理をするか、機能を番号で選択してください。"); System.out.println("引き出し: 1, 預け入れ: 2"); func = br.readLine(); while (func.equals("1") && (func.equals("2"))){ // 入力された番号が 1 でも 2 でもない場合 System.out.println("その番号の機能は存在しません。入力をしなおしてください。"); System.out.println("引き出し: 1, 預け入れ: 2"); func = br.readLine(); } ATM atm = new ATM(); if (func.equals("1")) { // 引き出し機能を利用する場合 atm.withdrawal(accnumber, passnumber, balance); } else if (func.equals("2")) { // 預け入れ機能を利用する場合 atm.deposit(accnumber, balance); } } catch (IOException ioe) { } } }