问题
定义一个hero类,属性有power,name,分别代表体力值和英雄的名字,体力值默认为100;方法有:1.行走的方法如果体力值为0,则输出不能行走,此英雌已死亡的信息;2.吃的方法:参数是补充的血量,将n的值加到属性power中,power的值最大为100;3.每收到一次伤害,体力值-10,体力值最小不能小于0.
方法
package lab06; import java.util.Scanner; public class power { double power=100;//体力值 String name; // int n;//补充的血量 //行走方法 public void go(double power){ if(power>0){ System.out.println("继续游戏"); } else if(power<=0){ System.out.println("不能行走,英雄已经死亡"); } } //参数是补充的血量,将 n的值加到属性power中,power的值最大为100, public double eat(int n){ power=power+n; if(power>100){ return 0; } return power; } //伤害方法 // 每受到一次伤害,体力值-10,体力值最小不能小于0 public double hurt(){ System.out.println("输入伤害次数"); Scanner sca=new Scanner(System.in); //伤害次数 int count=sca.nextInt(); power=power-count*10; if(power<=0){ go(power); } return power; } public power(double power,String name){ this.power=power; this.name=name; } } package lab06; public class lab06text01 { public static void main(String[] args) { power excel2=new power(20,"奥特曼"); // System.out.println(excel2.power);//输出体力值 //调用eat方法 // double result=excel2.eat(-20); // System.out.println(result); //调用hurt方法 double result2=excel2.hurt(); System.out.println(result2); } } |
3 结语
定义了一个hero类,它的属性有体力和名字,定义了三个方法go方法if判断体力值是否大于0,eat( int n)方法中power加上传入的n,重新赋值power。Hurt方法中输入伤害次数,重新计算体力值,调用go方法,输出判断是否死亡。