用集合做一个学生管理系统(JAVA)

这个集合做的学生管理系统功能还是很完备的

1.建一个学生实体类

public class Student implements Comparable{
	//如果还有什么想加的属性,直接在这里加就行了,记得加上get与set方法
	private String name;
	private String id;
	private int age;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public String toString(){
		return "学号:"+getId()+" 姓名:"+getName()+" 年龄:"+getAge();
	}
	@Override
	public int compareTo(Object o) {
		return Integer.valueOf(this.getId())-Integer.valueOf(((Student)o).getId());
	}

2.建一个MainTest类(实现的代码全部都在这个类里面)

import java.util.*;

public class MainTest {
	static Scanner sc = new Scanner(System.in);
	//让所有方法都操作这一个集合
	static ArrayList al = new ArrayList();


	public static void main(String[] args) {
		run();
}


	//运行界面
	public static void run(){
		//1:添加信息  2:查询信息(学号)  3:查询信息(姓名)  4:修改信息(学号) 5:修改信息(姓名) 6:删除信息(学号) 7:删除信息(姓名) 8:查看全部  9:退出系统");	
		System.out.println("******************************************************欢迎进入学生管理系统******************************************************");
		while(true){
		System.out.println("1:添加信息  2:查询信息(学号)  3:查询信息(姓名)  4:修改信息(学号) 5:修改信息(姓名) 6:删除信息(学号) 7:删除信息(姓名) 8:查看全部  9:退出系统");
		int choice = sc.nextInt();
		switch(choice)
		{
		case 1:addMessage();break;
		case 2:serMessageById();break;
		case 3:serMessageByName();break;
		case 4:upMessageById();break;
		case 5:upMessageByName();break;
		case 6:delMessageById();break;
		case 7:delMessageByName();break;
		case 8:serAllMessage();break;
		case 9:System.out.println("谢谢使用!");System.exit(0);
		}
		}
	}

    //1.添加信息  将学号设为唯一的值
	public static void addMessage(){
		while(true){
			Student stu = new Student();
			System.out.println("请输入学生学号");
			String ID = sc.next();
			boolean boo = true;
			//进行学号唯一性检查,如果输入的学号已经存在于集合中,就让其重新输入,直至输入一个不存在的学号
			while(boo){
				boo = false;
				for(Student s : al){
					if(s.getId().equals(ID)){
						System.out.println("此学号已经存在,请重新输入学号!");
						ID = sc.next();
						boo = true;
						}
					}
				}
			stu.setId(ID);
			System.out.println("请输入学生姓名");
			stu.setName(sc.next());
			System.out.println("请输入学生年龄");
			stu.setAge(sc.nextInt());
			if(al.add(stu)){
				System.out.println("添加成功!");
				System.out.println("继续添加输入y");
				String chose = sc.next();
				String regex = "[y]";
				//利用递归来实现继续添加学生的功能
				if(chose.matches(regex)){
					addMessage();
				}
			}else{
				System.out.println("添加失败!");
			}
			break;
		}	
}
		
	//2.查询信息(学号)
	public static void serMessageById()
	{
		//这个判断是为了检测集合里有没有学生,如果没有的话提醒添加学生
		if(al.isEmpty()){
			System.out.println("还没有学生,请返回添加学生信息!");
		}else{
		int i;
		int count = 0;
		System.out.println("请输入学生学号:");
		String ID = sc.next();
		//因为学号唯一,所以只会有一条信息,没有其他的情况
		for(i=0;i

完毕!后续还需继续努力

你可能感兴趣的:(基础)