编写Java程序,方法练习题__构建英雄类,定义一个int类型的变量output,表示英雄的血量

简介: 编写Java程序,方法练习题__构建英雄类,定义一个int类型的变量output,表示英雄的血量

需求说明:

定义一个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);
  }
}
相关文章
|
17天前
|
存储 监控 安全
单位网络监控软件:Java 技术驱动的高效网络监管体系构建
在数字化办公时代,构建基于Java技术的单位网络监控软件至关重要。该软件能精准监管单位网络活动,保障信息安全,提升工作效率。通过网络流量监测、访问控制及连接状态监控等模块,实现高效网络监管,确保网络稳定、安全、高效运行。
46 11
|
2月前
|
XML Java 测试技术
从零开始学 Maven:简化 Java 项目的构建与管理
Maven 是一个由 Apache 软件基金会开发的项目管理和构建自动化工具。它主要用在 Java 项目中,但也可以用于其他类型的项目。
59 1
从零开始学 Maven:简化 Java 项目的构建与管理
|
2月前
|
人工智能 前端开发 Java
基于开源框架Spring AI Alibaba快速构建Java应用
本文旨在帮助开发者快速掌握并应用 Spring AI Alibaba,提升基于 Java 的大模型应用开发效率和安全性。
238 12
基于开源框架Spring AI Alibaba快速构建Java应用
|
2月前
|
Java Android开发
Eclipse Java 构建路径
Eclipse Java 构建路径
40 3
|
2月前
|
IDE Java 编译器
开发 Java 程序一定要安装 JDK 吗
开发Java程序通常需要安装JDK(Java Development Kit),因为它包含了编译、运行和调试Java程序所需的各种工具和环境。不过,某些集成开发环境(IDE)可能内置了JDK,或可使用在线Java编辑器,无需单独安装。
83 1
|
2月前
|
存储 Java 开发者
Java 中 Set 类型的使用方法
【10月更文挑战第30天】Java中的`Set`类型提供了丰富的操作方法来处理不重复的元素集合,开发者可以根据具体的需求选择合适的`Set`实现类,并灵活运用各种方法来实现对集合的操作和处理。
|
2月前
|
Java 编译器 开发者
Java异常处理的最佳实践,涵盖理解异常类体系、选择合适的异常类型、提供详细异常信息、合理使用try-catch和finally语句、使用try-with-resources、记录异常信息等方面
本文探讨了Java异常处理的最佳实践,涵盖理解异常类体系、选择合适的异常类型、提供详细异常信息、合理使用try-catch和finally语句、使用try-with-resources、记录异常信息等方面,帮助开发者提高代码质量和程序的健壮性。
84 2
|
2月前
|
存储 Java 编译器
Java泛型类型擦除以及类型擦除带来的问题
泛型擦除是指Java编译器在编译期间会移除所有泛型信息,使所有泛型类型在运行时都变为原始类型。例如,`List&lt;String&gt;` 和 `List&lt;Integer&gt;` 在JVM中都视为 `List`。因此,通过 `getClass()` 比较两个不同泛型类型的 `ArrayList` 实例会返回 `true`。此外,通过反射调用 `add` 方法可以向 `ArrayList&lt;Integer&gt;` 中添加字符串,进一步证明了泛型信息在运行时被擦除。
49 2
|
2月前
|
SQL 安全 Java
Java 异常处理:筑牢程序稳定性的 “安全网”
本文深入探讨Java异常处理,涵盖异常的基础分类、处理机制及最佳实践。从`Error`与`Exception`的区分,到`try-catch-finally`和`throws`的运用,再到自定义异常的设计,全面解析如何有效管理程序中的异常情况,提升代码的健壮性和可维护性。通过实例代码,帮助开发者掌握异常处理技巧,确保程序稳定运行。
46 0
|
2月前
|
Java 数据库连接 数据库
如何构建高效稳定的Java数据库连接池,涵盖连接池配置、并发控制和异常处理等方面
本文介绍了如何构建高效稳定的Java数据库连接池,涵盖连接池配置、并发控制和异常处理等方面。通过合理配置初始连接数、最大连接数和空闲连接超时时间,确保系统性能和稳定性。文章还探讨了同步阻塞、异步回调和信号量等并发控制策略,并提供了异常处理的最佳实践。最后,给出了一个简单的连接池示例代码,并推荐使用成熟的连接池框架(如HikariCP、C3P0)以简化开发。
59 2