public class Account {
String name="";
private int money=0;
public Account(){}
public Account(String name){
this.name =name;
}
//Constructor Overloading
public Account(String name,int money){
this.name =name;
this.money =money;
}
public void in (int x){
money += x;
}
public void out(int x){
money -= x;
}
public void send(int x){//계좌 이체 메서드
this.out(x);//money -= x;
}
public int getMoney(){
return money;
}
}
/*
A 라는 Account 타입 객체 ---- B 라는 Account 타입의 객체
in(), out() , send() in(), out() , send()
첫번째 손님이름 :
첫번재 손님 첫 입금금액 : // 객체 A 생성
2번째 손님이름 :
2번재 손님 첫 입금금액 : // 객체 B 생성
-- 당신은 손님A, B 인가요? (1 - A , 2 - B)
-- A 님 환영합니다 잔고는 ~ 입니다
-- 입금(1) 출금(2) 계좌이체(3) 종료(4) 계정전환하기(5)
* */
import java.util.ArrayList;
import java.util.Scanner;
public class Exam5 {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
System.out.print("첫번째 손님이름 :");
String name1 = scan.next();
int money1 = scan.nextInt();
Account a1 = new Account(name1, money1);
System.out.print("두번째 손님이름 :");
String name2 = scan.next();
int money2 = scan.nextInt();
Account a2 = new Account(name2, money2);
ArrayList list=new ArrayList();
list.add(a1);
list.add(a2);
System.out.print("당신은 손님A, B 인가요? (1 - A , 2 - B)");
int select = scan.nextInt();
if(select==1){
System.out.printf(
"%s 님 환영합니다 잔고는 %d 입니다 \n"
,a1.name, a1.getMoney());
}else {
System.out.printf(
"%s 님 환영합니다 잔고는 %d 입니다 \n"
,a2.name, a2.getMoney());
}
while(true){
int my=0, your=0;
if(select ==1){
my=0;
your=1;
}else if(select ==2){
my=1;
your=0;
}
Account me = (Account)list.get(my);//1를 누르면 a1를 불러오기
Account you = (Account)list.get(your);//1를 누르면 a1를 불러오기
System.out.print("입금(1) 출금(2) 계좌이체(3) 종료(4) 계정전환하기(5)");
int select2 = scan.nextInt();
switch(select2){
case 1:
System.out.printf("%s 님 입금금액: ",me.name);
me.in(scan.nextInt());//입금메서드 호출
break;
case 2:
System.out.printf("%s 님 출금금액: ",me.name);
me.out(scan.nextInt());//출금메서드 호출
break;
case 3:
System.out.printf("%s 님 이체금액: ",me.name);
int money = scan.nextInt();
me.send(scan.nextInt());//이체메서드 호출
you.in(money);
break;
case 4:
break;
case 5:
//1->2,2->1
if(select ==1){
select =2;
}
else if(select ==2){
select =1;
}
break;
}
System.out.printf("%s 님의 잔고는 %d,%s 님의 잔고는 %d",
me.name,me.getMoney(),you.name,you.getMoney());
}
}
}