2015 IT 웹 기반 개발자과정/JAVA
JAVA 체크카드, 신용카드 구현[상속 클래스]
by 한여름밤의코딩
2015. 10. 30.
package Card;
public class Debit {
int balance;
int pay;
boolean check;
public Debit(int balance){
this.balance = balance;
}
public boolean check(int pay){
if(balance-pay>=0) {
balance = balance - pay;
System.out.println(pay+"원을 사용하셨습니다.");
System.out.println("잔액은 "+balance+"원 입니다.");
return true;
}
System.out.println("잔액이 부족합니다.");
return false;
}
}
===============================================================
package Card;
public class Credit extends Debit{
int max;
int used;
public Credit(int balance, int max) {
super(balance);
this.max = used = max;
}
public boolean mCheck(int pay){
if(used-pay>=0)
{
used = used - pay;
System.out.println(pay+"원 을 사용하셨습니다.");
System.out.println("남은 한도액은 " +used+"원 입니다.");
return true;
}
else if(used-pay<0){
System.out.println("신용한도가 부족합니다");
System.out.println("신용 한도 부족으로 직불카드로 사용합니다.");
super.check(pay);
return true;
}
return false;
}
}
===============================================================
package Card;
import java.util.Scanner;
public class Shopping {
public static void main(String[] args) {
int ch;
int m;
Debit d1 = new Debit(10000);
Credit c1 = new Credit(500, 1000);
Scanner sc = new Scanner(System.in);
do{
System.out.println("0. 직불카드 1. 신용카드 2. 종료 = ?");
ch = sc.nextInt();
if(ch==2) {
System.out.println("종료하였습니다.");
break;
}
System.out.println("얼마를 사용하시겠습니까?");
m= sc.nextInt();
switch(ch){
case 0 :
d1.check(m);
break;
case 1 :
c1.mCheck(m);
break;
}
}while(true);
}
}