2015 IT 웹 기반 개발자과정/JAVA
JAVA Bank Account(은행계좌 관리)
by 한여름밤의코딩
2015. 10. 29.
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);
}
}