CodeGym
促销活动
CodeGym University
学习
课程
任务
调查和小测验
游戏
帮助
提醒时间表
社区
用户
论坛
聊天
文章
成功故事
活动
评论
订阅服务
浅色主题
问题
  • 评论
  • 关于我们
开始
开始学习
立即开始学习
  • 全部问题
PeaceLovePang
第 14 级
Warrington
  • 28.05.2020
  • 550次阅读
  • 5个评论

how to solve? who can help me!

有关 任务的问题 包含猫的 HashMap
Java 语法,  第 8 级,  课程 3
已解决


有一个包含 String name 的 Cat 类。
创建 HashMap<String, Cat>。
向该集合中添加 10 个猫。猫的名字应用作键。
在屏幕上显示结果,每行显示一个元素。

要求:
  • 程序不得从键盘读取值。
  • 在 addCatsToMap() 方法中,声明包含 (String, Cat) 对的 HashMap 变量并立即初始化该变量。
  • addCatsToMap() 方法应根据任务条件将 String[] cats 数组中的所有猫添加到集合中。
  • 程序应在屏幕上显示集合内容,每行显示一个对,并且键和值之间用连字符分隔。
package zh.codegym.task.task08.task0803; import java.util.HashMap; import java.util.Map; /* 包含猫的 HashMap */ public class Solution { public static void main(String[] args) throws Exception { String[] cats = new String[]{"泰格", "米西", "斯摩基", "果酱", "奥斯卡", "雪球", "博斯", "斯马奇", "马克斯", "辛巴"}; HashMap<String, Cat> map = addCatsToMap(cats); for (Map.Entry<String, Cat> pair : map.entrySet()) { System.out.println(pair.getKey() + " - " + pair.getValue()); } } public static HashMap<String, Cat> addCatsToMap(String[] cats) { //在此编写你的代码 HashMap<String,Cat> map=new HashMap<String,Cat>(); Cat cat1=new Cat("123"); map.put(cats[0],cat1); Cat cat2=new Cat("1234"); map.put(cats[1],cat2); Cat cat3=new Cat("1235"); map.put(cats[2],cat3); Cat cat4=new Cat("1236"); map.put(cats[3],cat4); Cat cat5=new Cat("1237"); map.put(cats[4],cat5); Cat cat6=new Cat("1238"); map.put(cats[5],cat6); Cat cat7=new Cat("1239"); map.put(cats[6],cat7); Cat cat8=new Cat("12311"); map.put(cats[7],cat8); Cat cat9=new Cat("12322"); map.put(cats[8],cat9); Cat cat10=new Cat("12333"); map.put(cats[9],cat10); return map; } public static class Cat { String name; public Cat(String name) { this.name = name; } @Override public String toString() { return name != null ? name.toUpperCase() : null; } } }
0
评论 (5)
  • 受欢迎
  • 新
  • 旧
你必须先登录才能发表评论
pyw
级别 8 ,Changzhi,China
14 七月 2020, 10:27
HashMap<String,Cat> map1 = new HashMap<String,Cat>(); for(int i = 0 ; i < cats.length;i++) map1.put(cats[i],new Cat(cats[i])); return map1;
0
Corina Bodea
级别 14 ,Cluj Napoca,Romania
28 五月 2020, 17:02解决方法
Hey! :) The logic for the task should be to map cat's name with the cat object containing the SAME name. You actually change the cat's name and assign the cat object with the cat's name from the array:
String[] cats = new String[]{"泰格", "米西", "斯摩基", "果酱", "奥斯卡", "雪球", "博斯", "斯马奇", "马克斯", "辛巴"};
Try this
Cat  cat1=new Cat(cats[0]);
        map.put(cats[0],cat1);
        Cat  cat2=new Cat(cats[1]);
        map.put(cats[1],cat2);
        Cat  cat3=new Cat(cats[2]);
        map.put(cats[2],cat3);
        Cat  cat4=new Cat(cats[3]);
        map.put(cats[3],cat4);
etc Change also the rest of the code lines. 干杯!
0
PeaceLovePang
级别 14 ,Warrington,United Kingdom
29 五月 2020, 01:15
Thank you is over.
0
PeaceLovePang
级别 14 ,Warrington,United Kingdom
29 五月 2020, 03:37
for(int i=0;i<cats.length;i++) { Cat cat=new Cat(cats[i]); map.put(cats[i],cat); } return map; Thank you very much,I solved it this way
+2
Corina Bodea
级别 14 ,Cluj Napoca,Romania
1 六月 2020, 18:37
Awesome! Congrats!
0
了解
  • 注册
  • Java 课程
  • 任务帮助
  • 定价
  • 游戏项目
  • Java 语法
社区
  • 用户
  • 文章
  • 论坛
  • 聊天
  • 成功故事
  • 活动
  • Affiliate Program
公司
  • 关于我们
  • 联系方式
  • 评论
  • 新闻发布室
  • CodeGym 教育
  • 常见问题
  • 支持
CodeGym CodeGym 是一个从零开始学习 Java 语言编程的在线课程。本课程是初学者掌握 Java 语言的绝佳方式。它包含 1200 多个可即时验证的任务,以及基本范围内的 Java 基础理论。为了帮助你在教育上取得成功,我们实现了一组激励功能:小测验、编码项目以及有关高效学习和 Java 语言开发人员职业方面的内容。
关注我们
界面语言
程序员不是天生的 © 2023 CodeGym
MastercardVisa
程序员不是天生的 © 2023 CodeGym
This website uses cookies to provide you with personalized service. By using this website, you agree to our use of cookies. If you require more details, please read our Terms and Policy.