内容要求
(在上一作业的基础上)
- 勇士增加角色等级level属性
- 勇士经验值累积到10、20、30、40、50……则等级分别升级到2、3、4、5、6……类推
- (自我挑战,选做)把上一条改为:勇士经验值累积到10、30、70、150、310……则等级分别升级到2、3、4、5、6……类推
知识点或注意事项
- 变量(对象级和方法级)的灵活使用
- 基本算术素养训练(与编程语言无关,但程序员必备),必须完成第一条,鼓励挑战第二条,但如果第二条长时间做不出来那么要先跳过去完成下面的内容
以下为参考实现,从Run类执行
class Warrior { private int exp;// 除非有充分的理由,否则成员变量都要声明为private private int level; Warrior() { // 建议的做法,在构造方法中合理初始化各个成员变量 exp = 0; level = 1; } void hunt(Rabbit rabbit) { int expFromRabbit = rabbit.getExp();// 杀死一只兔子获得的经验值 int newestExp = exp + expFromRabbit;// 最新的经验值数值(注意还没有写到exp变量) int newestLevel = expToLevel(newestExp);// 最新的等级值(注意还没有写到level变量) exp = newestExp; if (newestLevel > level) { // 升级了 level = newestLevel; System.out.println("勇士升级,等级" + level); } } int expToLevel(int exp) { int lv = 1; int e = 10; while (exp >= e) { lv = lv + 1; int v = lv; int x = 1; while (v > 1) { v = v - 1; x = x * 2; } e = (x * 2 - 1) * 10; } return lv; } int getExp() { return exp; } }
class Rabbit { private int exp; Rabbit() { exp = 3; } int getExp() { return exp; } }
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Iterator; class Run { private static final BufferedReader R = new BufferedReader(new InputStreamReader(System.in)); public static void main(String[] args) throws IOException, InterruptedException { Warrior w = new Warrior(); // 输入q或Q退出程序,输入其他任意内容则勇士都会猎杀一只兔子 while (!"q".equalsIgnoreCase(R.readLine())) { w.hunt(new Rabbit()); System.out.println("勇士猎杀了一只兔子,当前经验值" + w.getExp()); } } }
相关推荐
2. **全面的API支持**:`home-assistant-js-websocket`提供了对`Home Assistant`所有核心功能的访问,包括但不限于获取状态、执行服务、订阅事件、发现设备等。 3. **错误处理**:库内置了错误处理机制,当...
在这个"2022吴的机器学习C1-W2 Home Work"中,我们将使用线性回归来处理给定的数据文件,并探讨其在实际应用中的方法。 首先,让我们理解线性回归的基本概念。线性回归假设因变量(我们想要预测的变量)与一个或多...
《Excel VBA神器:深入解析ExcelHome-VBAHelper-1.1.2.2021.zip》 在Excel的世界里,VBA(Visual Basic for Applications)无疑是一种强大的工具,它允许用户通过编写代码来自动化复杂的任务,提高工作效率。Excel...
2. 配置文件编辑:查看和修改AdGuard Home的配置文件,如添加自定义过滤规则。 3. 日志查看:浏览AdGuard Home的日志,以了解过滤活动和可能的问题。 4. 设备管理:查看连接到路由器并受到AdGuard Home保护的设备...
Webinar_docs-13-0367-00-0mwg-zigbee-home-automation-1-2-delivering-peace-of-mind-through-secure-and-energy-efficient-homes.pdf
AdGuard Home 项目 是著名广告拦截器 AdGuard 里 DNS Server 的一个开源版本。该项目的原理是,在 DNS 的域名解析的过程里拦截网页上的广告。
$ npm install node-red-contrib-home-assistant-websocket # then restart node-red 对于附加用户: 随此节点提供的社区附加组件是开箱即用的。 在服务器节点配置下,只需选中I use the Home Assistant Add-on的...
home-assistant-full-2022.2.1 rs.apk
home-assistant-polymer, 用于家庭助理的聚合物前端 系列辅助聚合物 这是官方家庭助理前端的存储库。 前端是建立在以下技术之上的:web sockets聚合物汇总插件打包到 Home Assistant用于聚合物包管理的 Bower 对...
适配文章:Excel多表格合并
Win10Home安装Hyper-V功能虚拟机Docker调试必备
2. 工作表操作: - Ctrl+Page Down:切换到下一个工作表。 - Ctrl+Page Up:切换到上一个工作表。 - Ctrl+F6 或 Ctrl+Tab:在工作簿中的不同窗口间切换。 - Ctrl+Shift+F6:在工作簿中的不同窗口间切换(反向)...
当你遇到“winetricks命令提示W2KSP4_EN签名不正常”的问题时,这通常意味着在尝试安装Windows 2000 Service Pack 4 (W2KSP4) 更新时遇到了签名验证错误。这个问题可能由于多种原因,如过期的Wine版本、不兼容的库或...
标题中的"Python库 | home-assistant-frontend-20210802.0.tar.gz"表明这是一个针对Python开发的库,名为home-assistant-frontend,版本号为20210802.0,且已打包成tar.gz格式的压缩文件。这种格式通常用于在Linux和...
2. F6:在“帮助”任务窗格和Word文档之间切换,方便在查看帮助和编辑文档间快速转换。 3. Tab:在“帮助”任务窗格中选择下一项,方便浏览和选择帮助内容。 4. Shift+Tab:选择上一项,方便逆序浏览。 5. Enter:...
HomeAssistant windows Hyper-V 虚拟机镜像 官网下载较慢,特提供本下载地址。
首先建立交叉编译环境,安装cross-2.95.3.tar.bz2交叉编译工具到/usr/arm-linux目录下,修改/home/sqlite-3.3.8目录下的configure文件的部分内容,将Makefile文件中的部分内容,设置交叉编译环境,再编译并安装,就...
"Word模板-办公软件常用快捷键" 在日常办公中,掌握常用的快捷键可以大大提高工作效率。本文档整理了Office Word中常用的快捷键,包括基本操作、文字编辑、格式设置、查找替换、插入超链接等多方面的快捷键。 基本...
标题中的"PyPI 官网下载 | dlg_home_content-0.0.5-py3-none-any.whl"指的是一个在Python Package Index (PyPI) 官网上发布的软件包。PyPI是Python社区用来分发开源软件的主要平台。"dlg_home_content-0.0.5-py3-...
2. **Home Assistant**:Home Assistant是一个开源的智能家居平台,它支持众多硬件设备和各种服务,让用户可以自定义和集成家庭自动化。通过其强大的API,开发者可以创建自定义界面和功能,实现对家中各种智能设备的...