爱编程的锦鲤 2021-06-04 17:13 采纳率: 50%
浏览 10

集合类中map的一个题目

  • 阅读Student.java

public class Student {

    private int id;

    private String name;

    public Student(int id, String name) {

       super();

       this.id = id;

       this.name = name;

    }

    public int getId() {

       return id;

    }

    public void setId(int id) {

       this.id = id;

    }

    public String getName() {

       return name;

    }

    public void setName(String name) {

       this.name = name;

    }

    @Override

    public String toString() {

       return "[id:" + id + ", name:" + name + "]";

    }

    @Override

    public boolean equals(Object obj) {

       if(obj instanceof Student){

           Student other=(Student)obj;

           if(other.id==this.id&&other.name.equals(this.name)){

              return true;

           }

       }

       return super.equals(obj);

    }

    @Override

    public int hashCode() {

      

       return this.name.hashCode();

    }

 

②完成ClassDB.java编写,并编写测试类。

import java.util.*;

public class ClassDB {

    private Map<String,List<Student>> container;

 

    public ClassDB(){

       container=new HashMap<String, List<Student>>();

    }

    //添加组

    public void addGroup(String groupName){

       container.put(groupName, new ArrayList<Student>());

       log("Add Group: "+groupName+" success.");

    }

    //显示指定组信息,格式: 组名:该组包含的学生数

    public void showGroups(){

      

    }

    //将指定学生加入到指定组

 

    public boolean addStudentToGroup(Student student,String groupName){

   

    }

    //显示指定组中的学生信息

    public void showStudentsOfGroup(String groupName){

   

    }

//显示所有学生信息,调用 showStudentsOfGroup(String groupName);

    public void showAllStudents(){

      

    }

    //通过id查找学生

    public Student findStudentById(int id){

      

    }

    //通过id删除学生

 

    public Student delStudentById(int id){

   

    }

   

    private void log(String msg){

       if(logable){

           System.out.println("LOG:"+msg);

       }

    }

}

③阅读ClassDBApp.java

import java.io.IOException;

import java.io.InputStreamReader;

import java.util.Scanner;

 

public class ClassDBApp {

    private ClassDB db = new ClassDB();

 

    public static void main(String[] args) {

       ClassDBApp app = new ClassDBApp();

       run: while (true) {

           app.shwoMemu();

           int cmd = app.getInputInt();

           switch (cmd) {

           case 1:

              app.addGroup();

              app.pause();

              break;

           case 2:

              app.addStudent();

              break;

           case 3:

              app.showGroup();

              app.pause();

              break;

           case 4:

              app.showStudentOfGroup();

              app.pause();

              break;

           case 5:

              app.showAllStudents();

              app.pause();

              break;

           case 6:

              app.findStudent();

              app.pause();

              break;

           case 7:

              app.delStudent();

              app.pause();

              break;

           case 0:

              break run;

           }

       }

 

    }

    public void delStudent(){

       pr("delete id:");

       int id=getInputInt();

       db.delStudentById(id);

    }

    public void findStudent(){

       pr("found id:");

       int id=getInputInt();

       Student stu=db.findStudentById(id);

       prln(stu==null?"没有找到":"找到了 "+stu);

      

    }

    public void showAllStudents(){

       db.showAllStudents();

    }

    public void showStudentOfGroup(){

       pr("GroupName:");

       String gn=getInputStr();

       db.showStudentsOfGroup(gn);

    }

    public void addStudent(){

       pr("Student_Id:");

       int id=getInputInt();

       pr("Studetn_name:");

       String name=getInputStr();

       pr("Group_Name:");

       String gn=getInputStr();

       db.addStudentToGroup(new Student(id, name), gn);

    }

    public void addGroup() {

       pr("请你输入组名:");

       String groupName = getInputStr();

       db.addGroup(groupName);

 

    }

 

    public void showGroup() {

       db.showGroups();

    }

 

    public void pause() {

       System.out.println("Press any key to continue.");

       InputStreamReader isr = new InputStreamReader(System.in);

       try {

           isr.read();

       } catch (IOException e) {

           e.printStackTrace();

       }

    }

 

    public String getInputStr() {

       String inputStr = null;

       Scanner scr = new Scanner(System.in);

       inputStr = scr.next();

       return inputStr;

    }

 

    public int getInputInt() {

       Scanner scr = new Scanner(System.in);

       return scr.nextInt();

    }

 

    private void pr(String msg) {

       System.out.print(msg);

    }

 

    private void prln(String msg) {

       System.out.println(msg);

    }

 

    public void shwoMemu() {

       prln("+===================================+");

       prln("|   1.add Group                     |");

       prln("|   2.add Student to Group          |");

       prln("|   3.show Groups                   |");

       prln("|   4.show Students of Group        |");

       prln("|   5.show all Students             |");

       prln("|   6.find a student by id          |");

       prln("|   7.delete a student by id        |");

       prln("|   0.exit                          |");

       prln("+===================================+");

       prln("please choice(1,2,3,4,5,6,7,0)");

    }

 

}

 

集合类那一块真的没学好,导致实验课上的题目不会写,由于题目比较长,有空闲时间的大神帮忙看看啊,先挂这了,继续看书去【暴风哭泣】

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-07 17:59
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^
    评论

报告相同问题?

悬赏问题

  • ¥15 有偿求苍穹外卖环境配置
  • ¥15 代码在keil5里变成了这样怎么办啊,文件图像也变了,
  • ¥20 Ue4.26打包win64bit报错,如何解决?(语言-c++)
  • ¥15 clousx6整点报时指令怎么写
  • ¥30 远程帮我安装软件及库文件
  • ¥15 关于#自动化#的问题:如何通过电脑控制多相机同步拍照或摄影(相机或者摄影模组数量大于60),并将所有采集的照片或视频以一定编码规则存放至规定电脑文件夹内
  • ¥20 深信服vpn-2050这台设备如何配置才能成功联网?
  • ¥15 Arduino的wifi连接,如何关闭低功耗模式?
  • ¥15 Android studio 无法定位adb是什么问题?
  • ¥15 C#连接不上服务器,