问题遇到的现象和发生背景
怎么用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("修改成功");
}
}
我想要达到的结果
怎么让他实现分类和分类查询的功能?