需求说明:
定义一个int类型的变量output,表示英雄的血量,当battle()方法执行一次,output变量值减少10。在控制台随机输入一个小于100的整数,将该整数值赋于变量output,作为英雄的初始血量。在main方法中循环调用英雄的battle0方法,如果英雄的血量已经小于或者等于零,则停止循环,系统给出友好提示信息,英雄已经牺牲,否则最终输出英雄的血量
实现思路:
创建英雄类(Hero)。
在该类中定义战斗方法battle(),在该方法中int类型变量count。count 初始值为1,count表示一个计数器,用于记录战斗的次数。
在battle()方法中判断当前英雄的血量是否小于等于0,如果条件成立则使用System.exit(0) 结束当前运行的程序。
在主方法中创建Scanner类,使用该对象的nextInt() 方法接收键盘输入的 int 类型的整数,并将该值赋值给 output 变量。创建循环,在循环中调用 Hero 对象的 battle () 方法。
实现代码:
import java.util.Scanner; public class Hero { int output;//血量 int count = 1;//攻击次数 public void battle() { //方法每执行一次,英雄血量减少10 output -= 10; if (output<=0) { System.out.println("对不起您的英雄已经牺牲"); //当前表示结束当前运行的程序 System.exit(0); } else { System.out.println("第"+count+++"次攻击,您英雄当前的血量"+count); } } public static void main(String[] args) { Hero hero = new Hero();//创建英雄对象 Scanner input = new Scanner(System.in); System.out.println("请输入英雄的血量"); //将从控制台接到的整数赋值给output变量 hero.output = input.nextInt(); for (int i = 0; i < 6; i++) { hero.battle(); } System.out.println("战斗结束,您英雄的血量:"+hero.output); } }