⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test.java

📁 一个学生管理系统 可以对学生进行系统的统计 具体要求请自己更改
💻 JAVA
字号:
package exercise;

import java.util.*;
/*
要求:实现合理的封装
*/
class Person 
{
	private int id;			//编号
	private String name;	//姓名
	private int age;		//年龄

	public Person(){}

	public Person(int id, String name, int age){
		this.id = id;
		this.name = name;
		this.age = age;
	}

	public void setId(int id){
		this.id = id;
	}
	public int getId(){
		return id;
	}

	public void setName(String name){
		this.name = name;
	}
	public String getName(){
		return name;
	}

	public void setAge(int age){
		this.age = age;
	}
	public int getAge(){
		return age;
	}

	public boolean equals(Object o){
		Person p = (Person)o;
		if(id==p.id)
			return true;
		else
			return false;
	}

	public String toString(){
		return "--------------------\nId:" + id + "\nName:" + name + "\nAge:" + age;
	}

	public int hashCode(){
		return id;
	}
}

/*
要求:实现合理的封装
*/
class Student extends Person
{
	private String grade;	//年级

	public Student(){}

	public Student(int id, String name, int age, String grade){
		super(id, name, age);
		this.grade = grade;
	}

	public void setGrade(String grade){
		this.grade = grade;
	}
	public String getGrade(){
		return grade;
	}

	public String toString(){
		return super.toString() + "\nGrade:" + grade;
	}
};

/*
要求:实现合理的封装
*/
class Teacher extends Person
{
	private String course;	//课程
};

/*
要求:将所有方法按照要求实现功能,具体功能性方法查阅文档
*/
class Action
{
	//存放所有的对象(Person, Student, Teacher)
	private ArrayList data = new ArrayList();	

	//增加记录
	public void addPerson(Person p){
		data.add(p);
	}

	//删除记录(删除成功返回true,否则返回false)
	public boolean delPerson(Person p){
		return data.remove(p);
	}

	//修改记录(修改成功返回true,否则返回false)
	public boolean updatePerson(Person p){
		int index = data.indexOf(p);
		if(index!=-1){
			data.set(index, p);
			return true;
		}else
			return false;
	}

	//查询记录(查询成功返回查询的结果,否则返回null)	 
	//根据id查询,测试中保证id唯一性
	public Person getPerson(int id){
		Iterator it = data.iterator();
		boolean flag = false;
		Person p = null;
		while(it.hasNext()){
			p = (Person)it.next();
			if(p.getId()==id){
				flag = true;
				break;
			}
		}
		if(flag)
			return p;
		else
			return null;
	}

	//查询记录(返回查询到的所有信息,放入ArrayList中返回)
	//根据name查询,name可能重复
	public ArrayList getPerson(String name){
		//存放需要返回的Person对象
		ArrayList temp = new ArrayList();	

		Iterator it = data.iterator();
		while(it.hasNext()){
			Person p = (Person)it.next();
			if(p.getName().equals(name))
				temp.add(p);
		}
		return temp;
	}

	//查询记录(查询所有的Person对象,不包括Student和Teacher)
	public ArrayList getAllPerson(){
		ArrayList temp = new ArrayList();
		Iterator it = data.iterator();
		while(it.hasNext()){
			Person p = (Person)it.next();
			if(isPerson(p))
				temp.add(p);
		}
		return temp;
	}

	//查询记录(查询所有的Student对象)
	public ArrayList getAllStudent(){
		return null;
	}

	//查询记录(查询所有的Teacher对象)
	public ArrayList getAllTeacher(){
		return null;
	}

	//查询记录数(不包括子类)
	public int getPersonNum(){
		return 0;
	}
	
	//查询记录数
	public int getStudentNum(){
		int num = 0;
		Iterator it = data.iterator();
		while(it.hasNext()){
			Person p = (Person)it.next();
			if(isStudent(p))
				num++;
		}
		return num;
	}

	//查询记录数
	public int getTeacherNum(){
		return 0;
	}

	//内部使用的工具方法,private权限,判断是否是Person对象、Student对象、Teacher对象
	private boolean isPerson(Person p){
		return !(p instanceof Student) && !(p instanceof Teacher);
	}
	private boolean isStudent(Person p){
		return p instanceof Student;
	}
	private boolean isTeacher(Person p){
		return p instanceof Teacher;
	}
}

//测试类
public class Test
{
	public static void main(String[] args){
	
	}
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -