apopomantu 2022-11-27 15:17 采纳率: 50%
浏览 30
已结题

怎么用JAVA实现通讯录系统的分组和分组查询

问题遇到的现象和发生背景

怎么用java语言实现下面这个程序的分组和分组查询啊?急

用代码块功能插入代码,请勿粘贴截图
Student类
package edu;

public class Student {
//姓名
    private static String name;
    //院系
    private String faculties;
    //班级
    private String banji;
    //邮箱
    private String postbox;
    //手机号
    private String number;
    
    public Student() {
    }
    public Student(String name,String faculties,String banji,String letter,String postbox,String number,String group) {
        this.name=name;
        this.faculties=faculties;
        this.banji=banji;
        this.postbox=postbox;
        this.number=number;
        
    }
    public void setName(String name) {
        this.name=name;
    }
    public String getName() {
        return name;
    }
    public void setFaculties(String faculties) {
        this.faculties=faculties;
    }
    public String getFaculties() {
        return faculties;
    }
    public void setBanji(String banji) {
        this.banji=banji;
    }
    public String getBanji() {
        return banji;
    }
    public void setPostbox(String postbox) {
        this.postbox=postbox;
    }
    public String getPostbox() {
        return postbox;
    }
    public void setNumber(String number) {
        this.number=number;
    }
    public String getNumber() {
        return number;
    }
    
    
}


StudentManager类
package edu;

import java.util.ArrayList;
import java.util.Scanner;

public class StudentManager {


private static int i;
public static void main(String[] args) {
    //创建集合对象用于存储数据
    ArrayList<Student> array = new ArrayList<Student>();
    while(true) {
    System.out.println("--------欢迎来到通讯录管理系统------");
    System.out.println("1 增加");
    System.out.println("2 删除");
    System.out.println("3 修改");
    System.out.println("4 查询");
    System.out.println("5 退出");
    System.out.println("请输入你的选择");
    Scanner sc = new Scanner(System.in);
    String line = sc.nextLine();
    switch(line) {
    case "1":
        //System.out.println("增加");
        addStudent(array);
        break;
    case "2":
        //System.out.println("删除");
        deleteStudent(array);
        break;
    case "3":
        //System.out.println("修改");
        updateStudent(array);
        break;
    case "4":
        //System.out.println("查询");
        findAllStudent(array);
        break;
    case "5":
        System.out.println("退出");
        System.out.println("谢谢使用");
    return;
    }
    }
}
public static void addStudent(ArrayList<Student> array) {//定义一个方法用于添加信息
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入姓名:");
    String name = sc.nextLine();
    System.out.println("请输入院系:");
    String faculties = sc.nextLine();
    System.out.println("请输入班级:");
    String banji = sc.nextLine();
    System.out.println("请输入邮箱:");
    String postbox = sc.nextLine();
    System.out.println("请输入手机号:");
    String number = sc.nextLine();
    
    //创建对象,把键盘录入的数据赋值给学生对象的成员变量
    Student s = new Student();
    s.setName(name);
    s.setFaculties(faculties);
    s.setBanji(banji);
    s.setPostbox(postbox);
    s.setNumber(number);

    //将对象添加到和集中
    array.add(s);
    //给出添加成功提示
    System.out.println("添加成功");
}
//定义一个方法用于查看信息
public static void findAllStudent(ArrayList<Student> array) {
    if(array.size() == 0) {
        System.out.println("无信息,请先添加信息再查询");
        return;
    }
    System.out.println("姓名   院系   班级   邮箱  手机号");
    for(int i=0;i<array.size();i++) {
        Student s = array.get(i);
        System.out.println(s.getName()+" "+s.getFaculties()+" "+s.getBanji()+" "+s.getPostbox()+" "+s.getNumber());
    }
}

//定义一个方法用来删除信息
public static void deleteStudent(ArrayList<Student> array) {
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入你要删除的信息");
    String name = sc.nextLine();
    for(int i=0;i<array.size();i++) {
        Student s = array.get(i);
        if(s.getName().equals(name)) {
            array.remove(i);
            break;
        }
    }
    System.out.println("删除成功");
}
//定义一个方法用来修改信息
public static void updateStudent(ArrayList<Student> array) {
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入要修改的姓名");
    String name = sc.nextLine();
    System.out.println("请输入新院系");
    String faculties = sc.nextLine();
    System.out.println("请输入新班级");
    String banji = sc.nextLine();
    System.out.println("请输入新邮箱");
    String postbox = sc.nextLine();
    System.out.println("请输入新手机号");
    String number = sc.nextLine();
    Student s  = new Student();
    s.setName(name);
    s.setFaculties(faculties);
    s.setBanji(banji);
    s.setPostbox(postbox);
    s.setNumber(number);
    for(int i=0;i<array.size();i++) {
        Student student = array.get(i);
    if(student.getName().equals(name)) {
        array.set(i, s);
        break;
    }
    }
    System.out.println("修改成功");
}

}

我想要达到的结果

怎么让他实现分类和分类查询的功能?

  • 写回答

5条回答 默认 最新

  • 语言-逆行者 2022-11-27 15:27
    关注

    怎么个分类与分类查询,看效果图

    img

    
    
    import java.util.ArrayList;
    import java.util.Scanner;
    
    public class StudentManager {
    
        private static int i;
        public static void main(String[] args) {
            //创建集合对象用于存储数据
            ArrayList<Student> array = new ArrayList<Student>();
            while(true) {
                System.out.println("--------欢迎来到通讯录管理系统------");
                System.out.println("1 增加");
                System.out.println("2 删除");
                System.out.println("3 修改");
                System.out.println("4 查询");
                System.out.println("5 退出");
                System.out.println("请输入你的选择");
                Scanner sc = new Scanner(System.in);
                String line = sc.nextLine();
                switch(line) {
                    case "1":
                        //System.out.println("增加");
                        addStudent(array);
                        break;
                    case "2":
                        //System.out.println("删除");
                        deleteStudent(array);
                        break;
                    case "3":
                        //System.out.println("修改");
                        updateStudent(array);
                        break;
                    case "4":
                        //System.out.println("查询");
                        findAllStudent(array);
                        break;
                    case "5":
                        System.out.println("退出");
                        System.out.println("谢谢使用");
                        return;
                }
            }
        }
        public static void addStudent(ArrayList<Student> array) {//定义一个方法用于添加信息
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入姓名:");
            String name = sc.nextLine();
            System.out.println("请输入院系:");
            String faculties = sc.nextLine();
            System.out.println("请输入班级:");
            String banji = sc.nextLine();
            System.out.println("请输入邮箱:");
            String postbox = sc.nextLine();
            System.out.println("请输入手机号:");
            String number = sc.nextLine();
    
            //创建对象,把键盘录入的数据赋值给学生对象的成员变量
            Student s = new Student();
            s.setName(name);
            s.setFaculties(faculties);
            s.setBanji(banji);
            s.setPostbox(postbox);
            s.setNumber(number);
    
            //将对象添加到和集中
            array.add(s);
            //给出添加成功提示
            System.out.println("添加成功");
        }
        //定义一个方法用于查看信息
        public static void findAllStudent(ArrayList<Student> array) {
            Scanner sc1 =new Scanner(System.in);
            if(array.size() == 0) {
                System.out.println("无信息,请先添加信息再查询");
                return;
            }
            System.out.println("全校的学生信息:");
            System.out.println("姓名   院系   班级   邮箱  手机号");
            for(int i=0;i<array.size();i++) {
                Student s = array.get(i);
                System.out.println(s.getName()+" "+s.getFaculties()+" "+s.getBanji()+" "+s.getPostbox()+" "+s.getNumber());
            }
            System.out.println("------------------");
            System.out.println("1、按学院分组查询");
            System.out.println("2、按班级分组查询");
    
            String line = sc1.nextLine();
            switch (line)
            {
                case "1":
                    System.out.println("请输入你要查询的学院信息(输入学院名):");
                    String xueyuan=sc1.nextLine();
                    int i;
                    System.out.println("姓名   院系   班级   邮箱  手机号");
                    for(i=0;i< array.size();i++){
                        Student s = array.get(i);
                        if(s.getFaculties().equals(xueyuan)){System.out.println(s.getName()+" "+s.getFaculties()+" "+s.getBanji()+" "+s.getPostbox()+" "+s.getNumber());}
                        else{continue;}
                    }
                    break;
                case "2":
                    System.out.println("请输入你要查询的班级信息(输入班级名):");
                    String banji1=sc1.nextLine();
                    System.out.println("姓名   院系   班级   邮箱  手机号");
                    for(i=0;i< array.size();i++){
                        Student s = array.get(i);
                        if(s.getBanji().equals(banji1)){System.out.println(s.getName()+" "+s.getFaculties()+" "+s.getBanji()+" "+s.getPostbox()+" "+s.getNumber());}
                        else{continue;}
                    }
                    break;
            }
        }
    
        //定义一个方法用来删除信息
        public static void deleteStudent(ArrayList<Student> array) {
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入你要删除的信息");
            String name = sc.nextLine();
            for(int i=0;i<array.size();i++) {
                Student s = array.get(i);
                if(s.getName().equals(name)) {
                    array.remove(i);
                    break;
                }
            }
            System.out.println("删除成功");
        }
        //定义一个方法用来修改信息
        public static void updateStudent(ArrayList<Student> array) {
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入要修改的姓名");
            String name = sc.nextLine();
            System.out.println("请输入新院系");
            String faculties = sc.nextLine();
            System.out.println("请输入新班级");
            String banji = sc.nextLine();
            System.out.println("请输入新邮箱");
            String postbox = sc.nextLine();
            System.out.println("请输入新手机号");
            String number = sc.nextLine();
            Student s  = new Student();
            s.setName(name);
            s.setFaculties(faculties);
            s.setBanji(banji);
            s.setPostbox(postbox);
            s.setNumber(number);
            for(int i=0;i<array.size();i++) {
                Student student = array.get(i);
                if(student.getName().equals(name)) {
                    array.set(i, s);
                    break;
                }
            }
            System.out.println("修改成功");
        }
    
    }
    
    
    public class Student {
        //姓名
        private  String name;
        //院系
        private String faculties;
        //班级
        private String banji;
        //邮箱
        private String postbox;
        //手机号
        private String number;
    
        public Student() {
        }
        public Student(String name,String faculties,String banji,String letter,String postbox,String number,String group) {
            this.name=name;
            this.faculties=faculties;
            this.banji=banji;
            this.postbox=postbox;
            this.number=number;
    
        }
        public void setName(String name) {
            this.name=name;
        }
        public String getName() {
            return name;
        }
        public void setFaculties(String faculties) {
            this.faculties=faculties;
        }
        public String getFaculties() {
            return faculties;
        }
        public void setBanji(String banji) {
            this.banji=banji;
        }
        public String getBanji() {
            return banji;
        }
        public void setPostbox(String postbox) {
            this.postbox=postbox;
        }
        public String getPostbox() {
            return postbox;
        }
        public void setNumber(String number) {
            this.number=number;
        }
        public String getNumber() {
            return number;
        }
    
    
    }
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 12月5日
  • 已采纳回答 11月27日
  • 修改了问题 11月27日
  • 修改了问题 11月27日
  • 展开全部

悬赏问题

  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来