首页 > 其他分享 >【每日代码】(10/21)

【每日代码】(10/21)

时间:2024-03-30 21:30:53浏览次数:25  
标签:case 10 Coffee 21 代码 System cost public out

咖啡店售货。
几段关于继承、抽象类的代码。
如下——

首先,定义一个抽象父类Coffee

abstract class Coffee {//定义抽象父类
    abstract double Coffee(int a);//定义抽象方法MF·1
}

然后,定义它的派生实体子类Natie,用它来实现Coffee

package cn.jsu.www8;

class Natie extends Coffee {//定义实体子类
     private double cost;//私有数据成员
     private String name;

     public Natie() {//无参CF·0
     }
     public double Coffee(int a) { //覆写抽象父类 Coffee的抽象方法来实现
         switch (a){
             case 1:this.cost = 9.9;break;
             case 2:this.cost = 12.9;break;
             case 3:this.cost = 15.9;break;
         }
         return this.cost;
     }

     public void getName(int a) { //成员方法输出商品名
         switch (a) {
             case 1:this.name = "褚橙拿铁";break;
             case 2:this.name = "美式拿铁";break;
             case 3:this.name = "百香拿铁";break;
         }
         System.out.print(this.name);
     }
}

随手定义个类输出信息(也可以让它继承Coffee重复上面的步骤完成一些功能,都行)

public class CoffeeFactory {
    public void produce() {//输出点信息
        System.out.println("制作完成!");
        System.out.println("请慢用~");
    }
}

最后写出主方法的类

package cn.jsu.www8;

import java.util.Scanner;

public class Cafe {
    public double sale;
    public double Sale(double cost) {
        this.sale = cost*1.2;
        return this.sale;
    }

    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        Natie c = new Natie();//Natie实例化对象c
        System.out.println("欢迎光临锐猩Coffee~");
        System.out.println("请选择商品:");
        System.out.println("1-褚橙拿铁\t2-美式拿铁\t3-百香拿铁");
        int goods = s.nextInt();
        double cost = switch (goods) {//强化的switch
            case 1 -> c.Coffee(1);//调用Natie类对象c的方法获取商品的成本价
            case 2 -> c.Coffee(2);
            case 3 -> c.Coffee(3);
            default -> 0;
            };
        System.out.println("\n加冰?\n1-加冰\t2-不加冰");
        Cafe d = new Cafe();//Cafe实例化对象d
        d.Sale(cost);//得到商品的销售价
        int b = s.nextInt();
        if(b == 1) {
            d.sale += 3;
        }
        System.out.println("\n请支付:" + d.sale + "元.");
        System.out.println("\n支付成功!您的取货码为:" + 2024 + goods +",预计取货时间为:" + (10 + goods) + "分钟后.");
        System.out.print("\n您的Coffee【");
        c.getName(goods);//调用c的方法获取商品名称
        System.out.print("】正在制作中,请稍后...\n");
        CoffeeFactory e = new CoffeeFactory();//Coffee实例化对象e
        e.produce();//调用e的方法输出信息
    }
}

总结:代码有些地方有点冗余,没多大意义,练手作。继续干巴爹。

标签:case,10,Coffee,21,代码,System,cost,public,out
From: https://blog.csdn.net/2303_81040694/article/details/137183007

相关文章

  • 如果有100个请求,如何控制并发?
    题目现有100个请求需要发送,请设计一个算法,使用Promise来控制并发(并发数量最大为10),来完成100个请求;首先先模拟下100个请求://请求列表constrequestList=[];//为了方便查看,i从1开始计数for(leti=1;i<=100;i++){requestList.push(()=>new......
  • 使用 wsl+makefile+clangd编辑stm32代码环境的搭建
    使用wsl+makefile+clangd编辑stm32代码环境的搭建安装wsl环境可以看看下面的文章安装与换源都提及,相信大家可以安装成功的https://www.cnblogs.com/banmei-brandy/p/16218660.html安装make、bear、clangd、arm-none-eabi-gcc、最新的构建库sudoaptinstallmakebearclang......
  • Blazor学习记录_8.CSS隔离和代码隔离_异常处理_流式渲染
    19.CSS隔离和代码隔离19.1代码隔离使用C#partial关键字,创建一个与razor文件同名,扩展名加.CS的C#类文件,然后把razor文件中的@code中的代码迁移至cs文件中。注意命名空间、泛形参数声明、依赖注入的迁移19.2CSS隔离如同前面代码隔离文件一样,我们创建一个组件样式文......
  • 20211105BouncyCastle
    1.下载jar包https://www.bouncycastle.org/latest_releases.html找了半天在官网上没找到,是找的其他的csdn的网页二级标题将下载的两个jar包拷贝到%JAVA_HOME%\jre\lib\ext目录下面3.修改配置文件%JAVA_HOME%\jre\lib\security\java.security,在末尾添加security.provider.11......
  • C108 整体二分+树状数组(区修+区查)P3332 [ZJOI2013] K大数查询
    视频链接:C108整体二分+树状数组(区修+区查)P3332[ZJOI2013]K大数查询_哔哩哔哩_bilibili   参考:C82树状数组区修+区查P3372线段树1-董晓-博客园(cnblogs.com)LuoguP3332[ZJOI2013]K大数查询//整体二分+树状数组(区修+区查)O(n*logn*logn)#include<iost......
  • Java基础 TCP协议下,收发数据代码实现
     --------------------------------------------------------------------------------------------------------------------------------- 代码实现:1.发送数据:publicstaticvoidmain(String[]args)throwsException{//1.创建Socket对象。细节:在创建对象的同......
  • 算法模板 v1.10.5.20240330
    算法模板v1.1.1.20240115:之前历史版本已不可寻,创建第一份算法模板。v1.2.1.20240116:删除“编译”-“手动开栈”;删除“编译”-“手动开O优化”;修改“编译”-“CF模板”;删除“读写”;删除“图论”-“欧拉图”-“混合图”;删除“图论”-“可达性统计”;删除“数据类型”-“高精类”。......
  • 深度学习(二),感知机——超详细公式推导及代码实例
    一,感知机(Perceptron) 1.1介绍    大名鼎鼎的感知机,是一个二分类模型,也是最早的AI模型之一。它的原理简单,便于理解,且实现简单,在线性分类问题上效果卓越,在60年代备受瞩目。但也正是因为它受到的期望过高,当潜在的一些问题暴露出来后(如无法拟合XOR函数,无法解决非线......
  • P8764 [蓝桥杯 2021 国 BC] 二进制问题
    原题链接题解1.如果数字为\(100110101\)那么答案为\(000000000\)~\(011111111\)中,k个1的组合数+\(100000000\)~\(100011111\)中k-1个1的组合数+...+\(1010101...\)(有k个1)中0个1的组合数,也就是1当遇见当遇见k个1后就可以退出了,最后判断数的1的个数够不够k,如果够......
  • helm 安装 nginx-ingress-controller v1.10.0
    1、说明准备nginx-ingress三种不同的部署模式Deployment+LoadBalancer采用deployment进行部署nginx-ingress-controller,需要创建一个type:LoadBalancer的service进行关联nginx-ingress-controller这组pod。通常是在使用公有云进行创建负载均衡器并绑定公网地址。只要将域名......