HOMEWORD参考-W2LV 博客分类: JingLuuJava
程序员文章站
2024-02-26 11:28:04
...
内容要求
(在上一作业的基础上)
- 增加狼Wolf、熊Bear、龙Dragon等可以被勇士杀死获得经验值的若干动物,建议它们的经验值依次是8、20、100
- 杀死每种动物能获得的经验值,你应该确保是由具体每一种动物对象来定义,而不是在勇士类中定义
知识点或注意事项
- 变量(属性)定义在合适的类里面,例如杀死狼获得8点经验值,这个数值应该由狼对象来提供,而不是由熊或龙,更不应该由勇士类提供
- 继承,父类和子类
以下为参考实现,从Run类执行
class Warrior { private int exp;// 除非有充分的理由,否则成员变量都要声明为private private int level; Warrior() { // 建议的做法,在构造方法中合理初始化各个成员变量 exp = 0; level = 1; } void hunt(Animal animal) { int expFromRabbit = animal.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 Animal { protected int exp; int getExp() { return exp; } }
class Rabbit extends Animal { Rabbit() { exp = 3; } }
class Wolf extends Animal { public Wolf() { exp = 8; } }
class Bear extends Animal { public Bear() { exp = 20; } }
class Dragon extends Animal { public Dragon() { exp = 100; } }
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; 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()); w.hunt(new Wolf()); System.out.println("勇士猎杀了一只狼,当前经验值" + w.getExp()); w.hunt(new Bear()); System.out.println("勇士猎杀了一只熊,当前经验值" + w.getExp()); w.hunt(new Dragon()); System.out.println("勇士猎杀了一条龙,当前经验值" + w.getExp()); } } }
推荐阅读
-
HOMEWORD参考-W2LV 博客分类: JingLuuJava
-
HOMEWORD参考-W2LV2 博客分类: JingLuuJava
-
HOMEWORD参考-W2LV2 博客分类: JingLuuJava
-
Rails自动化测试框架参考列表 博客分类: RailsRuby railsrspeccapybaracheat
-
测试驱动开发的艺术 博客分类: 测试 敏捷开发java参考资料 测试敏捷开发参考资料java
-
两年前放在msn上的共享文件 博客分类: 参考资料
-
测试驱动开发的艺术 博客分类: 测试 敏捷开发java参考资料 测试敏捷开发参考资料java
-
两年前放在msn上的共享文件 博客分类: 参考资料
-
jmeter简单使用,仅供自己记录,更多jemeter使用请参考其官网 博客分类: 杂烩
-
jmeter简单使用,仅供自己记录,更多jemeter使用请参考其官网 博客分类: 杂烩