gpt4 book ai didi

java - 如何完成这个关于集合的java程序

转载 作者:行者123 更新时间:2023-11-30 01:44:27 25 4
gpt4 key购买 nike

假设您正在开发一款口袋妖怪游戏,并且需要实现战斗团队机制。回想一下,玩家的队伍最多可以容纳 6 个 Pokemon。为了简化事情,您希望将其实现为包含 6 个元素的 ArrayList(队伍中的每个 Pokemon 1 个元素),并且为了进一步简化事情,您决定避免创建自定义 Pokemon 类。相反,您选择将每个 Pokemon 表示为具有两个键的 HashMap:“Name”和“Level”。与键“Name”关联的值将是一个表示 Pokemon 名称的字符串,与键“Level”关联的值将是一个表示 Pokemon 等级的整数。

任务:编写一个名为 createParty 的公共(public)静态方法,该方法有一个 String[] 类型的参数,称为包含 Pokemon 名称的名称,后跟一个名为 level 的 int[] 类型参数,包含 Pokemon 级别(其中 name[i] 和level[i] 是队伍中 Pokemon i 的名称和等级)。它应该以 ArrayList> 的形式返回该方,如上所述

Sample Input:

Pikachu Venasaur Charizard Blastoise Lapras Snorlax
88 84 84 84 80 82
Sample Output:

Pikachu 88
Venasaur 84
Charizard 84
Blastoise 84
Lapras 80
Snorlax 82

我的代码如下,但它提醒我一个错误。

     public static ArrayList<HashMap<String, Object>> createParty(String[] names,int[] levels) {

ArrayList<HashMap<String, Object>> party = new ArrayList<HashMap<String,Object>>(6);

for(int i=0;i<6;i++) {
HashMap<String, Object> hm = new HashMap<String, Object>();
hm.put(names[i], levels[i]);
party.add(hm);

}
return party;

}

错误如下

Failed test #1. The 'ArrayList' your 'createParty' method returned contained a 'HashMap' that was missing the "Name" key

Input:
Pikachu Venasaur Charizard Blastoise Lapras Snorlax
88 84 84 84 80 82
Your output:
MISSING_NAME
Correct output:
Pikachu 88
Venasaur 84
Charizard 84
Blastoise 84
Lapras 80
Snorlax 82

你能帮忙找出哪一部分是错误的吗?万分感谢。 :)

最佳答案

Instead, you choose to represent each Pokemon as a HashMap with two keys: "Name" and "Level"

看起来它正在期待而不是

hm.put(names[i], levels[i]);

使用固定键返回名称和级别:

hm.put("Name", names[i]);
hm.put("Level", levels[i]);

关于java - 如何完成这个关于集合的java程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58646431/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com