(1) 다음과 같이 2개의 계좌를 생성한다.
- 계좌번호: 1001, 이름: 홍길동, 잔고: 0
- 계좌번호: 1002, 이름: 이순신, 잔고: 0
(2) 홍길동의 계좌 1001 에 1백만원을 입금한다.
- 현재의 계좌 잔고를 출력한다.
<출력예> 계좌명: 홍길동, 계좌번호: 1001, 잔액: 1000000
(3) 홍길동의 계좌 1001 에서 10만원을 출금한다.
- 현재의 계좌 잔고를 출력한다.
<출력예> 계좌명: 홍길동, 계좌번호: 1001, 잔액: 900000
(4) 홍길동의 계좌 1001 에서 50만원을 이순신의 계좌로 이체한다.
- 홍길동의 계좌정보와 이순신의 계좌정보를 출력한다.
<출력예> 계좌명: 홍길동, 계좌번호: 1001, 잔액: 400000
계좌명: 이순신, 계좌번호: 1002, 잔액: 500000
(5) 이순신의 계좌 1002 에서 60만원을 출금한다.
<출력예> 계좌명: 이순신, 계좌번호: 1002 에서 60만원을 출금
잔액이 부족합니다! 다시 확인하여 주십시오.
.
.
package ex7;
public class Account {
String id, name;
int balance = 0;
public Account(String id, String name, int balance) {
this.id = id;
this.name= name;
this.balance = balance;
}
public Account(String id, String name) {
this.id = id;
this.name = name;
}
public String getId() { return id; }
public String getName() { return name; }
public int getBalance() { return balance; }
public int credit(int amount) {
balance += amount;
System.out.println("계좌명 : " + name + ", 계좌번호 : " + id + ", 잔액 : " + balance + "\n");
return balance;
}
public int debit(int amount) {
if(balance >= amount) balance -= amount;
else System.out.println("잔액이 부족합니다.\n계좌 잔액을 확인해주세요.");
System.out.println("계좌명 : " + name + ", 계좌번호 : " + id + ", 잔액 : " + balance + "\n");
return balance;
}
public int transferTo(Account another, int amount) {
if(balance >= amount) {
balance -= amount;
another.credit(amount);
}else {
System.out.println("잔액이 부족합니다.");
}
System.out.println("계좌명 : " + name + ", 계좌번호 : " + id + ", 잔액 : " + balance + "\n");
return balance;
}
public String toString() {
return "Account[id = " + id + ", name = " + name + ", balance = " + balance + "]";
}
}
.
.
credit(int amount) : 저축 메소드
debit(int amount) : 출금 메소드
transferTo(Account another, int amount) : 송금 메소드
.
.
package ex7;
public class TestAccount {
public static void main(String[] args) {
Account accHong = new Account("1001", "홍길동");
Account accLee = new Account("1002", "이순신");
System.out.println("TEST2 입금");
accHong.credit(1000000); // 홍길동 계좌에 100만원을 입금
System.out.println("TEST3 출금");
accHong.debit(100000); // 홍길동 계좌에서 10만원을 출금
System.out.println("TEST4 송금");
accHong.transferTo(accLee, 500000); // 홍길동 계좌에서 이순신 계좌로 50만원 송금
System.out.println("TEST5 출금실패");
accLee.debit(600000); // 이순신 계좌에서 60만원 출금, 잔액 부족
System.out.println(accHong);
System.out.println(accLee);
dispAccount(accHong);
dispAccount(accLee);
}
public static void dispAccount(Account acct) {
System.out.printf("계좌명 : %s, 계좌번호 : %s, 잔액 : %d\n", acct.getName(), acct.getId(), acct.getBalance());
}
}
728x90
반응형
'Java > 본격 Java 퀴즈 기초' 카테고리의 다른 글
[Java] 달력 출력하기 - 윤년 확인하기 (0) | 2020.07.08 |
---|---|
[Java] 달력 출력하기 (0) | 2020.07.08 |
[Java] 책 정보 입력 (0) | 2020.07.08 |
[Java] 영수증 출력 (0) | 2020.07.08 |
[Java] 사원 정보 출력(클래스 이용) (0) | 2020.07.07 |