当前位置:实例文章 » 其他实例» [文章]# `CSP_J_2021` 第一轮认证题

# `CSP_J_2021` 第一轮认证题

发布人:shili8 发布时间:2025-02-12 21:50 阅读次数:0

**第一轮认证题目**

**题目描述**

在一个虚拟的世界中,存在着许多不同的角色,每个角色都有自己的特点和能力。我们需要设计一个系统来管理这些角色,并且能够根据不同条件进行相应的处理。

**题目要求**

1. 设计一个类似于 Java 的面向对象编程语言的系统,能够支持以下功能:
* 定义角色类(Role),包含属性:名称(Name)、年龄(Age)和技能(Skills)。
* 定义一个管理角色类(RoleManager),负责创建、删除和更新角色。
* 实现一个方法来计算角色的总技能值。
2. 编写 Java代码实现上述功能,并且能够正确运行。

**系统设计**

### 角色类(Role)

javapublic class Role {
 private String name;
 private int age;
 private List skills;

 public Role(String name, int age) {
 this.name = name;
 this.age = age;
 this.skills = new ArrayList<>();
 }

 public void addSkill(String skill) {
 this.skills.add(skill);
 }

 public int getAge() {
 return age;
 }

 public List getSkills() {
 return skills;
 }
}


### 角色管理类(RoleManager)

javaimport java.util.ArrayList;

public class RoleManager {
 private ArrayList roles;

 public RoleManager() {
 this.roles = new ArrayList<>();
 }

 public void createRole(Role role) {
 this.roles.add(role);
 }

 public void deleteRole(String name) {
 for (int i =0; i < this.roles.size(); i++) {
 if (this.roles.get(i).getName().equals(name)) {
 this.roles.remove(i);
 break;
 }
 }
 }

 public Role getRole(String name) {
 for (Role role : this.roles) {
 if (role.getName().equals(name)) {
 return role;
 }
 }
 return null;
 }

 public int calculateTotalSkills() {
 int total =0;
 for (Role role : this.roles) {
 total += role.getSkills().size();
 }
 return total;
 }
}


### 主类
javapublic class Main {
 public static void main(String[] args) {
 RoleManager manager = new RoleManager();

 // 创建角色 Role role1 = new Role("张三",25);
 role1.addSkill("Java");
 role1.addSkill("Python");

 Role role2 = new Role("李四",30);
 role2.addSkill("C++");
 role2.addSkill("JavaScript");

 manager.createRole(role1);
 manager.createRole(role2);

 // 删除角色 manager.deleteRole("张三");

 // 计算总技能值 System.out.println("总技能值:" + manager.calculateTotalSkills());
 }
}


**注释**

* 在这个系统中,我们定义了一个 `Role` 类来代表角色,每个角色都有自己的名称、年龄和技能。
* 我们还定义了一个 `RoleManager` 类来管理角色,负责创建、删除和更新角色。
* 在 `RoleManager` 类中,我们实现了一个方法来计算角色的总技能值。
* 在主类中,我们创建两个角色,并且使用 `RoleManager` 类来管理它们。

相关标签:
其他信息

其他资源

Top