作业

  1. 声明一个Book类,属性有作者、书名、出版社三个属性。当两本书的作者、书名、出版社完全相同,则认为是同一本书。根据需要覆写equals、toString方法。

  2. 完成宠物管理系统!

    1. 新建一个Pet类

      1. 属性:

        1. 名字String name

        2. 性别 char sex

        3. 年龄 int age

      2. 方法:

        1. 吃 eat

        2. 叫 howl

        3. 显示宠物信息 show

    2. 新建一个 Dog类 继承 Pet类

      1. 新增属性:

        1. 品种 kind
      2. 新增方法:

        1. 跑 run

        2. 拆家 dealer

    3. 新建一个Cat 类 继承 Pet类

      1. 新增属性

        1. 和主人的亲密度 love
      2. 新增方法

        1. 跑 run

        2. 卖萌 actingCute

    4. 新建一个类 PetShop

      1. 属性:

        1. 宠物店名字 String name

        2. 存储宠物的笼子 Pet[] pets=new Pet[100];(宠物店最多能存储100只宠物)

      2. 方法:

        1. 进货宠物 private boolean addPet(Pet pet);//私有进货方法。

        2. 收购宠物 public boolean purchasePet(Pet pet);//公开收购宠物方法,在该方法调用 进货宠物 addPet 方法。

        3. 销售宠物 private Pet sellPet();//销售流程私有。

        4. 顾客买宠物 public Pet buyPet(int type);//1代表买 狗,2代表买猫。返回Pet。在该方法调用 销售宠物 sellPet 方法。

        5. 向顾客展示所有宠物信息 public void showPets()

    5. 测试(用户的角色是顾客):

      1. 顾客进入宠物店。PetShop.name宠物店老板说:你是要买宠物(1)?还是要出售宠物(2)?还是随便看看然后离开(0)?

        1. 购买宠物:

          1. 需要买什么宠物?狗(1),猫(2)

            1. 选择狗:

              1. 要什么品种的狗?

              2. 输入完信息后查找宠物店是否存在该品种的狗,如果存在则随机出一个符合品种的狗购买,然后购买成功!输出狗的信息。

                如果不存在该品种的狗,则提示:你选择的品种本店没有,请重新输入!

                (输入:exit离开)

                注意:!!!

                不要求购买交易流程等。只要能通过品种,然后从宠物店中所有该品种的狗随机出一只即可。

            2. 选择猫:

              1. 需要多少亲密度的猫咪?(0-100)

              2. 如果输入的亲密度为 X 则 随机出 [x-10~x+10]范围的猫咪,然后完成购买,输出猫咪信息。否则(流程参考狗的购买流程)

        2. 出售宠物:

          1. 你的宠物是?狗(1),猫(2)

            1. 选择狗:

              1. 是什么品种的狗?

              2. 是什么性别的狗?

              3. 狗的年龄多大?

              4. 狗取什么名字?

              5. 输入完信息后完成出售,出售宠物成功!

            2. 选择猫:

              1. 你的猫咪和主人的亲密度为多少?(0-100)

              2. 是什么性别的猫?

              3. 猫年龄多大?

              4. 猫取什么名字?

              5. 输入完信息后完成销售,销售成功!

        3. 离开!

注:[购买宠物]、[出售宠物]、[离开] 。等菜单可以循环选择!

题目只是大致的需求描述,具体的设计和可玩性 可以自由发挥设计! 提示语句也不必跟题目要求一致。如:题目要求是 “狗的年龄多大?”,你可以自行设计,如:“您这只可爱的小狗狗今年几岁啦?”等等。

总之!结合程序的可玩性!可增加新的属性,可增加新的功能!发挥你们的想象力!


作业

  1. 定义一个 IToggle 接口:

    1. 功能:

      1. void open();

      2. void close();

  2. 定义一个 ILock 接口;

    1. 功能:

      1. boolean lock()

      2. boolean unLock();

  3. 在定义一个 IFingerprintLock 指纹锁接口 , 继承 ILock 接口。

    1. 新增功能:

      1. boolean fingerprintRecognition(); 指纹识别功能。
  4. 定义 Door 抽象类并实现Lock接口,IToogle接口。

    1. 属性:

      1. String brand 品牌属性、

      2. String type 型号。

    2. 方法:

      1. void showDoor();//显示门的开,关,上锁,解锁的过程。 在该方法实现调用门的开关流程。如:解锁、开、关、上锁。

      2. void showInfo();//显示门的属性信息

    3. 构造方法:给适当的构造方法。

  5. 定义 CommonDoor 类,继承 Door 类,并实现相应的方法。

  6. 定义一个 SafeBox 保险箱类,实现 IToogle接口、FingerprintLock 指纹锁接口。 并实现相应的方法。

    1. 属性:

      1. 名字:String name;

      2. 价格:double money;

    2. 方法:

      1. void showInfo() 显示保险箱的信息

      2. void showSafeBox() 展示 保险箱的开锁流程。如:录入指纹,解锁,开,关,上锁。

  7. 定义一个 WasteRecycleFactory 废品回收厂类(单例)。该废品回收因为各种原因,目前只回收带锁的东西。

    1. 属性:

      1. String name : 废品厂 名字

      2. Lock[] locks=new Lock[50]; 废品厂最多能回收带锁物品的数量

    2. 方法:

      1. boolean recycleWaste(Lock lock);回收带锁的废品。

      2. void showAllLocks();显示所有垃圾物品的信息

  8. 测试类。(主要功能分析,具体业务逻辑自由发挥)

    1. 需要向废品回收厂 添加带锁功能的东西。(即:是要回收门?还是保险箱)

    2. 选择门的时候,需要输入门的基本信息

    3. 选择保险箱的时候,需要输入保险箱的基本信息。

    4. 在回收的时候,都需要对锁的功能进行展示。

    5. 显示所有回收的带锁的物品的具体信息。

要求,程序可以持续运行,即:菜单可以重复选择。

注意:大致功能需求,具体实现,具体的业务逻辑 自由发挥。

results matching ""

    No results matching ""