2015 IT 웹 기반 개발자과정/JAVA
JAVA Bank Account(은행계좌 관리)
한여름밤의코딩
2015. 10. 29. 15:04
package java_week2; public class Account { String id, pw; int balance; public Account() {} public Account (String id, String pw, int balance){ this.id = id; this.balance = balance; this.pw = pw; } public void changePw(String pw){ this.pw = pw; } public int getBalance(){ return balance; } public int Deposit(int value){ balance = balance + value; return balance; } public int Withdraw(int value){ if(balance>=value){ balance = balance - value ; }else{ System.out.println("잔액이 부족합니다"); } return balance; } } =============================================================================== package java_week2; import java.util.Scanner; public class AccountService { static Account [] acclist = new Account[100]; static Scanner sc = new Scanner(System.in); public boolean Account_Create(String id, String pw, int balance){ for (int i = 0; i < acclist.length; i++) { if(acclist[i] == null){ acclist[i] = new Account(id, pw, balance); return true; } } return false; } public boolean Deposit(String id, int deposit){ for (int i = 0; i < acclist.length; i++) { if(acclist[i] != null && acclist[i].id.equals(id)) { acclist[i].Deposit(deposit); System.out.println("=============================="); System.out.println(acclist[i].id+"님의 현재 잔액은 "+acclist[i].getBalance()+"원 입니다."); System.out.println("=============================="); return true; } } return false; } public boolean Withdraw(String id, String pw, int withdraw){ for (int i = 0; i < acclist.length; i++) { if(acclist[i] != null && acclist[i].id.equals(id) && acclist[i].pw.equals(pw)) { System.out.println("=============================="); System.out.println(acclist[i].id+"님의 현재 잔액은 "+acclist[i].Withdraw(withdraw)+"원 입니다."); System.out.println("=============================="); return true; } else if(acclist[i] != null && acclist[i].id.equals(id) && !(acclist[i].pw.equals(pw))) { System.out.println("=============================="); System.out.println(acclist[i].id+"님 비밀번호가 올바르지 않습니다."); System.out.println("=============================="); } } return false; } public void showList(){ for (int i = 0; i < acclist.length; i++) { if(acclist[i] != null){ System.out.println(" 사용자 ID : "+acclist[i].id + "\t\t잔액 : "+acclist[i].getBalance()+"원"); } } } public void changePw(String id, String pw){ for (int i = 0; i < acclist.length; i++) { if(acclist[i] != null && acclist[i].id.equals(id) && acclist[i].pw.equals(pw)) { System.out.println("변경하실 비밀번호를 입력하세요"); String newPw = sc.next(); acclist[i].changePw(newPw); System.out.println("=============================="); System.out.println(acclist[i].id+"님 비밀번호가 "+newPw+" 로 변경되었습니다."); System.out.println("=============================="); } else if(acclist[i] != null && acclist[i].id.equals(id) && !(acclist[i].pw.equals(pw))) { System.out.println("=============================="); System.out.println(acclist[i].id+"님 비밀번호가 올바르지 않습니다."); System.out.println("=============================="); } } } public static void main(String[] args){ AccountService as = new AccountService(); do { System.out.print("0:종료, 1:계좌 생성 , 2:입금 , 3:출금, 4.전체 계좌 list, 5.비번 변경 = ?"); int choice = sc.nextInt(); if (choice==0) break; if (choice==1) { System.out.print("사용자 ID = "); String id = sc.next(); System.out.print("사용자 PW = "); String pw = sc.next(); System.out.print("사용자 잔액 = "); int balance = sc.nextInt(); as.Account_Create(id, pw, balance); } if (choice==2) { System.out.print("사용자 ID = "); String id = sc.next(); System.out.print("입금 금액 = "); int deposit = sc.nextInt(); as.Deposit(id, deposit); } if (choice==3) { System.out.print("사용자 ID = "); String id = sc.next(); System.out.print("사용자 PW = "); String pw = sc.next(); System.out.print("출금 금액 = "); int withdraw = sc.nextInt(); as.Withdraw(id, pw, withdraw); } if (choice==4){ as.showList(); } if (choice==5){ System.out.print("사용자 ID = "); String id = sc.next(); System.out.print("사용자 PW = "); String pw = sc.next(); as.changePw(id, pw); } }while(true); } }