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());
		}
	}
}


'Java > 2012.04 강좌' 카테고리의 다른 글

11일차 Abstract 스타크래프트 유닛...  (0) 2012.04.18
11일차 3,6,9 게임  (0) 2012.04.18
10일차 연습 (입금출금) 2  (0) 2012.04.17
10일차 연습 (입금출금)  (0) 2012.04.17
10일차 연습및 복습(Scanner)  (0) 2012.04.17

+ Recent posts