Java模拟护盾攻击过程及边界处理实现
根据您的需求,这是一个Java实现模拟小核桃攻击过程的程序。 ```java import java.util.Scanner; public class ShieldSimulator { public static void main(String[] args) { Scanner sc = new Scanner(System.in); // 读取5名敌人的初始护盾能量 int[] shields = new int[5]; for (int i = 0; i < 5; i++) { shields[i] = sc.nextInt(); } // 读取攻击次数n int n = sc.nextInt(); // 循环处理n次攻击 for (int i = 0; i < n; i++) { int type = sc.nextInt(); // 攻击类型: 1 粒子炮, 2 集束粒子炮 if (type == 1) { // 粒子炮:所有敌人护盾减5 for (int j = 0; j < 5; j++) { shields[j] -= 5; } } else if (type == 2) { // 集束粒子炮:读取攻击目标编号(1-5) int target = sc.nextInt(); int targetIndex = target - 1; // 转换为数组下标(0-4) // 减少指定敌人的护盾一半(整除2) shields[targetIndex] /= 2; // 减少左边相邻敌人的护盾一半 if (targetIndex > 0) { shields[targetIndex - 1] /= 2; } // 减少右边相邻敌人的护盾一半 if (targetIndex < 4) { shields[targetIndex + 1] /= 2; } } // 每次攻击后,将所有负数护盾置为0 for (int j = 0; j < 5; j++) { if (shields[j] < 0) { shields[j] = 0; } } } // 输出最终护盾值 for (int i = 0; i < 5; i++) { System.out.print(shields[i]); if (i < 4) { System.out.print(" "); } } System.out.println(); sc.close(); } } ``` ### 🔧 代码说明 - **读取输入**:先读取5个初始护盾值存入数组`shields`,再读取攻击次数n。 - **攻击处理**: - 粒子炮(type=1):遍历所有敌人,护盾值减5。 - 集束粒子炮(type=2):读取目标敌人编号,转换为数组下标,分别对目标及左右相邻的敌人护盾值进行整除2的操作。边界情况(下标0或4)只处理存在的相邻敌人。 - **负数归零**:每次攻击后立即检查所有护盾值,负数统一置为0。 - **输出结果**:按顺序打印5个护盾值,空格分隔。 您可以复制代码到本地运行并测试各种输入样例。 ######[AI问答 | 667点数解答 | 2026-07-07 23:12:34]
- Java 实现复制粘贴功能:打造简易文本复制粘贴程序(GPT | 1497点数解答 | 2024-08-25 09:40:33)481
- 解决数据库“dm.jdbc.driver.dmexception: 数据溢出”问题的全步骤指南(阿里通义 | 598点数解答 | 2024-10-15 15:48:38)387
- 达梦数据库数据溢出问题排查及多维度解决方法(阿里通义 | 403点数解答 | 2024-10-15 15:48:41)1350
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)515
- 网络安全必知:CSRF 攻击揭秘与七大防御妙招! (百度文心 | 239点数解答 | 2023-11-09 18:35:43)271
- 网络安全工程师揭秘:DOS、DDoS、DRDoS攻击原理与防范策略(百度文心 | 327点数解答 | 2023-11-09 18:35:59)264
- CentOS下Java进程出现futex_wait_queue_me问题的处理全流程(阿里通义 | 283点数解答 | 2023-11-20 14:51:26)532
- 替雷利珠单抗致免疫相关性糖尿病:病例报道与机制探讨,为临床用药敲响警钟( | 164点数解答 | 2024-10-11 14:52:52)326
- Python 代码转 C++:计算花朵鲜艳值总和(字节豆包 | 408点数解答 | 2026-04-19 21:50:57)57
- C++前缀和优化区间求和算法详解(DeepSeek | 490点数解答 | 2026-06-20 22:11:10)31
- "Java Code: Uncovering Stock Statistics through CSV File Reading"(字节豆包 | 66点数解答 | 2024-11-13 15:31:04)397
- C++开发:揭秘从输入网址到显示网页背后的网络爬虫实现及要点(阿里通义 | 280点数解答 | 2023-11-09 00:46:44)269