Java模擬儲蓄卡和信用卡
阿新 • • 發佈:2019-01-24
題目:
儲蓄卡SavingCard類:
/**
* 儲蓄卡類
* @author xgpxg
*
*/
public class SavingCard {
private double amount=1000;//初始化餘額
/**
* 存錢
* @param money 存入金額
*/
public void saveMoney(double money){
amount+=money;
System.out.println("存款成功!");
}
/**
* 取錢
* @param money 取出金額
*/
public void takeMoney(double money){
if(money>amount){
System.out.println("取款失敗,餘額不足!");
}
else{
amount-=money;
System.out.println("取款成功!");
}
}
/**
* 餘額查詢
*/
public void getBalance(){
System.out.println("您的可用餘額為 " +amount+" 元!");
}
}
信用卡CreditCard類:
/**
* 信用卡類
* @author xgpxg
*
*/
public class CreditCard {
private double amount=1000;//初始金額
private double credit=-10000;//初始信譽額度
/**
* 信用卡取錢
*/
public void takeMoney(double money){
if(amount-money>0){
amount-=money;
}
else {//消耗信譽額度
if(amount-money<=credit)//額度用完
System.out.println("信譽額度不夠,請及時還款!");
else{
if(amount>0)//如果還有餘額
money=money-amount;//需要透支的錢
if(money>0&&money<=2000)
amount=amount-money-10;
if(money>2000&&money<=5000)
amount=amount-money-30;
if(money>5000)
amount=(double) (amount-money*0.01);
System.out.println("取款成功");
}
}
}
public void saveMoney(double money){
if(amount>=0){//沒有透支,直接存款
amount+=money;
System.out.println("存款成功!");
}
else{//有透支,還款
amount+=money;
if(amount>=0){//還清欠款
credit-=100;//額度增加10
if(amount>1000){//還清欠款且餘額大於1000
credit-=100;//上限再增加100
}
}
System.out.println("還款成功!您的可用信用額度為 "+credit*-1+" 元");
}
}
/**
* 餘額查詢
*/
public void getBalance(){
if(amount>=0)
System.out.println("您的可用餘額為 "+amount+" 元!");
else
System.out.println("您的可用餘額為 0 元");
}
/**
* 信用額度餘額
* @return
*/
public void getCreditBlance(){
System.out.println("您的總信用額度為 "+credit*-1+"元,\n"+"已經透支 "+amount*-1+" 元,\n"+"還可以透支 "+(credit-amount)*-1+" 元!");
}
}
主類MainClass:
public class MianClass {
public static void main(String[] args) {
/*測試資料
SavingCard sc=new SavingCard();
sc.getBalance();//餘額
sc.saveMoney(100);//存100
sc.getBalance();
sc.takeMoney(100);//取100
sc.getBalance();
sc.takeMoney(2000);//取2000
sc.getBalance();
sc.takeMoney(1000);//取1000
sc.getBalance();
*/
/*
CreditCard cc=new CreditCard();
cc.getBalance();//餘額
cc.saveMoney(100);//存100
cc.getBalance();
cc.takeMoney(5000);//取5000
cc.getBalance();
cc.getCreditBlance();//查信用額度
cc.takeMoney(80000);//取80000
cc.getBalance();
cc.saveMoney(100000);//存10萬
cc.getBalance();
cc.saveMoney(100);//存100
cc.getBalance();
*/
}
}
輸出:
您的可用餘額為 1000.0 元!
存款成功!
您的可用餘額為 1100.0 元!
取款成功!
您的可用餘額為 1000.0 元!
取款失敗,餘額不足!
您的可用餘額為 1000.0 元!
取款成功!
您的可用餘額為 0.0 元!
您的可用餘額為 1000.0 元!
存款成功!
您的可用餘額為 1100.0 元!
取款成功
您的可用餘額為 0 元
您的總信用額度為 10000.0元,
已經透支 2830.0 元,
還可以透支 7170.0 元!
信譽額度不夠,請及時還款!
您的可用餘額為 0 元
還款成功!您的可用信用額度為 10200.0 元
您的可用餘額為 97170.0 元!
存款成功!
您的可用餘額為 97270.0 元!