怎么用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("修改成功");
}
}
怎么让他实现分类和分类查询的功能?
怎么个分类与分类查询,看效果图
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;
}
}
举例子说明一下你想要的效果
package ed;
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;
}
}
package edu;
import ed.Student;
import java.util.*;
public class StudentManager {
private static int i;
public static void main(String[] args) {
//创建集合对象用于存储数据
ArrayList<Student> array = new ArrayList<Student>();
final HashMap<String, ArrayList<Integer>> group = new HashMap<>();
if (true) {
final Student e = new Student();
e.setName("张三");
array.add(e);
final Student e1 = new Student();
e1.setName("李四");
array.add(e1);
group.put("test01", new ArrayList<>());
}
while (true) {
System.out.println("--------欢迎来到通讯录管理系统------");
System.out.println("1 增加");
System.out.println("2 删除");
System.out.println("3 修改");
System.out.println("4 查询");
System.out.println("6 创建分组");
System.out.println("7 将人员放入分组");
System.out.println("8 检索分组");
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 "6":
System.out.println("请输入分组名:");
group.put(sc.nextLine(), new ArrayList<>());
break;
case "7":
final String[] keys = group.keySet().toArray(new String[0]);
for (int j = 0; j < keys.length; j++) {
System.out.println((j + 1) + ":" + keys[j]);
}
System.out.println("请输入分组Id:");
final ArrayList<Integer> integers = group.get(keys[sc.nextInt() - 1]);
for (int j = 0; j < array.size(); j++) {
System.out.println((j + 1) + ":" + array.get(j).getName());
}
System.out.println("请输入添加分组的学生ID:");
sc.nextLine();
final String[] data = sc.nextLine().split(" ");
for (String j : data) {
integers.add(Integer.valueOf(j) - 1);
}
break;
case "8":
final String groupName = sc.nextLine();
final ArrayList<Integer> integers1 = group.get(groupName);
for (int j = 0; j < integers1.size(); j++) {
System.out.println((j + 1) + " " + array.get(j).getName());
}
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("修改成功");
}
}
回答:简单写了你想要的分组,学生信息,写起来并不难
package edu;
import java.util.ArrayList;
import java.util.Objects;
import java.util.Scanner;
/**
* @author Administrator
*/
public class StudentManager {
public static void main(String[] args) {
ArrayList<Student> array = new ArrayList<>(5);
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":
addStudent(array);
break;
case "2":
deleteStudent(array);
break;
case "3":
updateStudent(array);
break;
case "4":
findAllStudent(array);
break;
case "5":
System.out.println("退出");
System.out.println("谢谢使用");
return;
default:
System.out.println("输入有误");
break;
}
}
}
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 className = sc.nextLine();
System.out.println("请输入邮箱:");
String postbox = sc.nextLine();
System.out.println("请输入手机号:");
String number = sc.nextLine();
System.out.println("请输入分组:");
String group = sc.nextLine();
Student s = new Student();
s.setName(name);
s.setFaculties(faculties);
s.setClassName(className);
s.setPostbox(postbox);
s.setNumber(number);
s.setGroup(group);
array.add(s);
System.out.println("添加成功");
}
public static void findAllStudent(ArrayList<Student> array) {
if (array.size() == 0) {
System.out.println("无信息,请先添加信息再查询");
return;
}
Scanner sc = new Scanner(System.in);
System.out.println("请输入你要查询的学生分组");
String group = sc.nextLine();
System.out.println("姓名 院系 班级 邮箱 手机号 分组");
for (Student s : array) {
if (Objects.equals(s.getGroup(), group)) {
System.out.println(s.getName() + " " + s.getFaculties() + " " + s.getClassName() + " " + s.getPostbox() + " " + s.getNumber() + " " + s.getGroup());
}
}
}
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 className = sc.nextLine();
System.out.println("请输入新邮箱");
String postbox = sc.nextLine();
System.out.println("请输入新手机号");
String number = sc.nextLine();
System.out.println("请输入分组:");
String group = sc.nextLine();
Student s = new Student();
s.setName(name);
s.setFaculties(faculties);
s.setClassName(className);
s.setPostbox(postbox);
s.setNumber(number);
s.setGroup(group);
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("修改成功");
}
}
package edu;
/**
* 学生类
* @author Administrator
*/
public class Student {
/**
* 姓名、院系、班级、邮箱、手机号、分组(分组暂定为 组长、一般同学、学习委员、班长 等)
*/
private String name;
private String faculties;
private String className;
private String postbox;
private String number;
private String group;
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.className = banji;
this.postbox = postbox;
this.number = number;
this.group = group;
}
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 setClassName(String className) {
this.className = className;
}
public String getClassName() {
return className;
}
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;
}
public String getGroup() {
return group;
}
public void setGroup(String group) {
this.group = group;
}
}