【学习任务】领取奶茶问题
我要参与
【学习任务】领取奶茶问题
学习任务 4.2k
等42人参与
来源: 第4周 / Java工程师

任务描述:

某奶茶店现推出转发朋友圈积攒,免费领奶茶的活动。

具体规则如下:

积攒60个,送一杯珍珠奶茶。

积攒80个,送一杯波霸奶茶加冰淇淋加奶霜。

积攒100个,送一杯乌龙玛奇朵加波霸加仙草加冰淇淋。

积攒不够60个,无法领取奶茶。

请你模拟10个用户,随机生成积攒个数,并领取奶茶。

任务提示:

1、使用的技能点:随机数、面向对象、继承、多态

2、生成随机数,根据随机生成的积攒个数,生成对应的奶茶对象,领取奶茶。

与以往题目不同,这个题目并没有给小伙伴展示详细思路,希望小伙伴根据提示进行思考,这也是一个锻炼的过程呦~

请将想好的编程思路或者代码贴到讨论区进行展示,期待你的回复呦~

//img1.sycdn.imooc.com//climg/601cc03b2974b0fe05001000.jpg

去发布

登录后即可发布作业,立即

我的作业

全部作业 221

慕斯卡4047793

一. 设置package model 用来存放各对象信息,对象类信息如下:

  1. User类对象,用来存放用户信息,设置属性String name,int likeCount,MilkTea reward,其中reward用来存放奶茶对象

  2. 抽象类MilkTea,作为奶茶父类,设置属性 String name ,String[] add,add是字符数组,用来分别存放不同的加料。并设置一个方法来获取对象的全名(名字加加料)
    public String intro() {
    String[] addList = getAdd();
    String material = “”;
    if (addList != null){
    for(String n:addList)
    material = material + “加” + n;
    }
    return getName()+material;
    }

  3. 三个对象继承MilkTea,PearlTea,BobTea(波霸),Macchi(玛奇朵),并在无参构造里面直接设置参数

二. 设置package util 用来放使用的方法,方法信息如下:
5. tools对象,里面放了两个方法:
生成随机数方法:(用来获取赞数)
public int getLike(){
int max=120,min=0;
int ran2 = (int) (Math.random()*(max-min)+min);
return ran2;
}

生成获取奖励方法:
public User judgeGift(User user) {
int count = user.getLikeCount();
if (count>60&&count<80)
user.setReward(new PearlTea());
else if (count>=80&&count<100)
user.setReward(new BobTea());
else if (count>=100)
user.setReward(new Macchi());
return user;
}

三. 设置package test 用来放主要执行,信息如下:
package test;

import Util.Tools;
import model.User;

public class Test {

public static void main(String[] args){
    //生成用户
    User userList[]= new User[10];
    Tools t = new Tools();
    for(int i=0;i<10;i++)
    {
        String user = "用户"+(i+1);
        userList[i]=new User(user, t.getLike());
    }
    //根据用户列表,给用户分配奖励
    for(User u:userList)
    {
        u = t.judgeGift(u);
    }
    //根据用户列表,将用户的奖励打印输出
    for(User u:userList)
    {
        if (u.getReward() != null) {
            System.out.println("====================");
            System.out.println(u.getName());
            System.out.println(u.getLikeCount());
            System.out.println(u.getReward().intro());
        }
        else {
            System.out.println("====================");
            System.out.println(u.getName());
            System.out.println(u.getLikeCount());
            System.out.println("没有奖励");
        }

    }


}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
代码块
复制 预览
复制成功!

}

提交于  2021-12-22 10:44:42
评论 1
何青若兰

有点复杂

回复 
2022-09-03 08:59:19
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师