Java/2012.04 강좌
10일차 연습 (입금출금) 3
Bohemian life
2012. 4. 17. 12:41
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()); } } }