JAVA-关于加油站的支付程序,金卡8折,支付超过200可以获得免费的洗车劵,银卡9折。

Test.java

package com.itheima.demo;

import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        //加油站支付小程序
        //创建卡片类
        //定义卡片父类Card
        //定义金卡类
        GoldCard goldCard = new GoldCard("陕AW256","张三","123456789",5000);
        pay(goldCard);
        SilverCard silverCard = new SilverCard("陕DSW258","张q","888888889",2000);
         pay(silverCard);
    }
    public static void pay(Card c){
        System.out.println("请刷卡,输入消费金额:");
        Scanner sc=new Scanner(System.in);
        double money=sc.nextDouble();
        c.consume(money);

    }
}

silvercard.java

package com.itheima.demo;

public class SilverCard extends Card {
    public SilverCard(String card, String name, String phone, double money) {

        super(card, name, phone, money);
    }
    public void consume(double money) {
        System.out.println("当前银卡消费:" + money);
        System.out.println("优惠后是:" + money * 0.9);
        if(getMoney()<money*0.9){
            System.out.println("你的余额不足:"+getMoney()+"消费失败");
            return;
        }
        setMoney(getMoney()-money*0.9);
    }
}

Goldcard.java

package com.itheima.demo;

public class GoldCard extends Card{
    public GoldCard(String card, String name, String phone, double money) {

        super(card,name,phone,money);
    }

    public void consume(double money){
        System.out.println("当前金卡消费:"+money);
        System.out.println("优惠后是:"+money*0.8);
        if(getMoney()<money*0.8){
            System.out.println("你的余额不足:"+getMoney()+"消费失败");
            return;
        }
        //更新的余额
        setMoney(getMoney()-money*0.8);
        if(money*0.8>=200){
            printTicket();
        }else
        {
            System.out.println("你消费不够200");
        }

    }

    //打印洗车票
    public void printTicket(){
        System.out.println("你消费了,请打印洗车票");
    }
}

Card.java

package com.itheima.demo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

//自动添加get,set方法
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Card {
    private String cardId;
    private String Name;
    private String phone;
    private double money;

    //预存金额
    public void deposit(double money){
        this.money+=money;
    }

    //消费金额
    public void consume(double money){
        this.money-=money;
    }


}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值