千锋20200324

在千锋“逆战”学第37天

      每日一句:一个100行的代码调试都可能会让程序员遇到很多挫折,所以,面对挫折,我们永远不能低头。
      今天完成了学生管理系统的基本功能
      明天继续努力。

项目代码

util包(接口类)

/**
 * 增加:
 * add(E e);
 * add(int index,E e);
 * 删除:
 * remove(E e);
 * remove(int index);
 * 改:
 * set(int index,E e);
 * 获取:
 * int size();
 * Object[] toArray();
 * boolean isEmpty();
 * boolean contains(Object o);
 * MyArrayList<E> subList(int start,int end);
 * int indexOf(Object o);
 * int lastIndexOf(Object o);
 * E get(int index);
 * @author GQ
 *
 * @param <E>  泛型 应用在不同类型下,作为集合
 */
public interface MyList<E> {
	/**
	 * 添加方法,添加元素到集合末尾
	 * @param e泛型
	 * @return true成功    false失败
	 */
	boolean add(E e);
	/**
	 * 添加方法,指定下标位置进行添加
	 * @param index 指定的下标位置
	 * @param e 元素 泛型
	 * @return true成功  false失败
	 */
	boolean add(int index,E e);
	/**
	 * 移除方法,指定移除的元素
	 * @param o 元素
	 * @return 移除的元素
	 */
	E remove(Object o);
	/**
	 * 移除方法,指定移除的下标
	 * @param index 指定的下标
	 * @return 移除的元素
	 */
	E remove(int index);
	/**
	 * 覆盖方法,替换指定下标的元素
	 * @param index 下标
	 * @param e 替换的元素
	 * @return 被替换的元素
	 */
	E set(int index,E e);
	/**
	 * 获取集合中有效元素的个数
	 * @return 有效元素的个数
	 */
	int size();
	/**
	 * 获得当前集合中,所有元素的Object类型的数组
	 * @return Object[] 包含集合中所有的对象
	 */
	Object[] toArray();
	/**
	 * 判断当前集合是否为空
	 * @return 如果一个元素都没有,返回true,有元素返回false
	 */
	boolean isEmpty();
	/**
	 * 判断某个对象o,在集合中是否存在
	 * @param o 需要查找的对象
	 * @return 存在返回true,不存在返回false
	 */
	boolean contains(Object o);
	/**
	 * 根据需求,返回start到end之间的MyList集合的子集合
	 * @param start 要求有效下标的范围,不能超过end
	 * @param end要求有效下标的范围,不能小于等于start
	 * @return 数据符合要求,返回一个当前集合的子集合。若数据不符合要求,返回NULL
	 */
	MyList<E> subList(int start,int end);
	/**
	 * 获得指定元素在集合中第一次出现的位置
	 * @param o 指定的元素
	 * @return 找到返回值 返回下标,没找到返回-1
	 */
	int indexOf(Object o);
	/**
	 * 获取指定元素在集合中最后一次出现的位置
	 * @param o指定的元素
	 * @return 找到返回值 返回下标,没找到返回-1
	 */
	int lastIndexOf(Object o);
	/**
	 * 根据指定的下标位置,获得元素
	 * @param index 下标
	 * @return 元素对象
	 */
	E get(int index);

}
public interface MyFilter<E> {
	public boolean accpet(E e);
}
public interface MyComparator<E> {
	/**
	 * 自定义排序方法,返回值是int类型
	 * @param stu1 student类型
	 * @param stu2 student类型
	 * @return >0前者大,<0后者大,==一样大
	 */
	public int compare(E stu1,E stu2);
}

--------------------------------------------------------------------------
entity包

public class Student {
	private int id;
	private String name;
	private int age;
	private char gender;//性别
	private String className;
	private double javaScore;//成绩
	private double htmlScore;//成绩
	private double springScore;//成绩
	private double totalScore;//总分
	private static int count = 0;
	//无参
	public Student() {}
	//无成绩有参   基本信息
	public Student( String name, int age, char gender, String className) {
		super();
		count++;//自增,学生的id不允许手动输入,自动增长
		this.id = count;
		this.name = name;
		this.age = age;
		this.gender = gender;
		this.className = className;
	}
	//有成绩有参构造 
	public Student( String name, int age, char gender, String className, double javaScore, double htmlScore,
			double springScore) {
		this(name,age,gender,className);
		this.javaScore = javaScore;
		this.htmlScore = htmlScore;
		this.springScore = springScore;
		//总分不用传递。由三科成绩决定总分
		this.totalScore = javaScore+htmlScore+springScore;
	}
	//公共的get/set
	public int getId() {
		return id;
	}
	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public char getGender() {
		return gender;
	}
	public void setGender(char gender) {
		this.gender = gender;
	}
	public String getClassName() {
		return className;
	}
	public void setClassName(String className) {
		this.className = className;
	}
	public double getJavaScore() {
		return javaScore;
	}
	public void setJavaScore(double javaScore) {
		this.totalScore -= this.javaScore;//先把原来的java成绩减掉。
		
		this.javaScore = javaScore;//正常赋值
		
		this.totalScore +=this.javaScore;//加上新成绩
	}
	public double getHtmlScore() {
		return htmlScore;
	}
	public void setHtmlScore(double htmlScore) {
		this.totalScore -= this.htmlScore;//先把原来的java成绩减掉。
		
		this.htmlScore = htmlScore;//正常赋值
		
		this.totalScore +=this.htmlScore;//加上新成绩
	}
	public double getSpringScore() {
		return springScore;
	}
	
	public void setSpringScore(double springScore) {
		this.totalScore -= this.springScore;//先把原来的java成绩减掉。
		
		this.springScore = springScore;//正常赋值
		
		this.totalScore +=this.springScore;//加上新成绩
	}
	//总分只能看,不能改
	public double getTotalScore() {
		return totalScore;
	}
	@Override
	public String toString() {
		return "Student [id=" + id + ", name=" + name + ", age=" + age + ", gender=" + gender + ", className="
				+ className + ", javaScore=" + javaScore + ", htmlScore=" + htmlScore + ", springScore=" + springScore
				+ ", totalScore=" + totalScore + "]";
	}
}

--------------------------------------------------------------------------
impl包

public class MyArrayList<E> implements MyList<E> {
	// 1.保存任意类型数据的数组,集合的底层
	private Object[] elementData = null;
	// 2.集合初始容量
	private static final int DEFAULT_CAPACITY = 10;
	// 3.保存数组中有效元素个数 (下一个元素插入的下标)
	private int size = 0;

	public MyArrayList() {
//		elementData = new Object[DEFAULT_CAPACITY];
		/*
		 * 统一化当前集合页的初始化方式
		 */
		this(DEFAULT_CAPACITY);
	}

	/**
	 * 手工初始化集合的容量
	 * 
	 * @param initCapacity 传入的容量大小:要求传入的容量大于0并且小于Integer.MAX_VALUE -8
	 */
	public MyArrayList(int initCapacity) {
		// 判断 initCapacity是否符合要求
		if (initCapacity < 0 || initCapacity > Integer.MAX_VALUE - 8) {
			throw new IllegalArgumentException("传递了一个不符合规范的初始容量!:" + initCapacity);
//			elementData = new Object[DEFAULT_CAPACITY]; 错误的! 
		} else {
			elementData = new Object[initCapacity];
		}
	}

	public boolean add(E e) {
		if (size == elementData.length) {// 数组是否饱满了
			// 扩容!
			grow(size + 1);
		}
		elementData[size] = e;
		size++;
		return true;
	}

	/**
	 * 为底层数组elementData做扩容!
	 * 
	 * @param minCapacity 扩容需要得最小容量!
	 */
	private void grow(int minCapacity) {
		int oldCapacity = elementData.length;
		int newCapacity = oldCapacity + (oldCapacity >> 1);// 要扩容的大小

		if (newCapacity > Integer.MAX_VALUE - 8) {
			throw new OutOfMemoryError("集合溢出了!");
		}
		if (newCapacity - minCapacity == 0) {

			newCapacity = minCapacity;
		}
		/*
		 * 1、创建新数组
		 * 2.拷贝元数据到新数组
		 * 3.返回新数组的首地址
		 * 4,替换
		 */
		elementData = Arrays.copyOf(elementData, newCapacity);
	}

	@Override
	public boolean add(int index, E e) {
		checkIndex(index);// 1.先判断下标是否合理.不合理,抛异常,程序因异常而终止
		if (size == elementData.length) {
			grow(size + 1);
		}
		/*
		 * 1 3 10 5 7 9
		 * index = 2; num = 10
		 * 
		 */
		for (int i = size; i > index; i--) {
			elementData[i] = elementData[i - 1];
		}
		elementData[index] = e;
		size++;
		return true;
	}

	/**
	 * 指定下标的安全检查!如果下标值不符合要求,抛异常
	 * 
	 * @param index 下标
	 */
	private void checkIndex(int index) {
		if (index < 0 || index >= size) {
			throw new ArrayIndexOutOfBoundsException(index);
		}
	}

	@Override
	public E remove(Object o) {
		return null;
	}

	@Override
	public E remove(int index) {
		// 1.检查下标
		checkIndex(index);
		// 2.获取对应下标的对象
		E temp = this.get(index);
		// 3.元素移动
		for (int i = index; i < size - 1; i++) {
			elementData[i] = elementData[i + 1];
		}
		elementData[size - 1] = null;// 把数组中最后下标的值变空
		size--;// 有效元素个数-1
		return temp;
	}

	@Override
	public E set(int index, E e) {
		return null;
	}

	@Override
	public int size() {
		return size;
	}

	@Override
	public Object[] toArray() {
		return Arrays.copyOf(elementData, size);
	}

	@Override
	public boolean isEmpty() {
		return false;
	}

	@Override
	public boolean contains(Object o) {
		return false;
	}

	@Override
	public MyList<E> subList(int start, int end) {
		return null;
	}

	@Override
	public int indexOf(Object o) {
		return 0;
	}

	@Override
	public int lastIndexOf(Object o) {
		return 0;
	}

	@Override
	public E get(int index) {
		checkIndex(index);// 检查下标
		return (E) elementData[index];// 返回指定下标的元素
	}

}

--------------------------------------------------------------------------
manager包

public class StudentManager {
	// 只负责接收前端数据,调用后端,
	/**
	 * 使用自定义MyArrayList,存储学生对象
	 */
	private MyArrayList<Student> allStudents = null;

	public StudentManager() {
		allStudents = new MyArrayList<Student>();
	}

	/**
	 * 传入初始容量,创建集合对象
	 * 
	 * @param initCapacity 要求数据大于等于0,小于Integer.MAX_VALUE-8,如果不满足,报异常!
	 */
	public StudentManager(int initCapacity) {
		allStudents = new MyArrayList<Student>(initCapacity);
	}

	/**
	 * 添加学生对象的方法,采用尾插法,插入到集合的末端。
	 * 
	 * @param stu Student类对象
	 * @return 添加学生成功,返回true,反之,返回false
	 */
	public boolean add(Student stu) {
		if (stu == null) {
			System.out.println("存入的学生不能为空对象");
			return false;
		}
		// 新增到集合中
		allStudents.add(stu);
		return true;
	}

	/**
	 * 根据学生的唯一ID,删除指定的学生
	 * 
	 * @param studentId 要删除的学生编号
	 * @return 删除的学生对象
	 */
	public Student remove(int studentId) {
		// 1.检查id在集合中的下标位置
		int index = findIndexById(studentId);
		try {
			return allStudents.remove(index);
		} catch (ArrayIndexOutOfBoundsException e) {
			System.out.println(e.getMessage());
		}

		return null;
	}

	/**
	 * 修改方法,指定学生编号
	 * 
	 * @param studentId 学生编号
	 * @return 成功true或失败false
	 */
	boolean modify(int studentId) {
		return false;
	}

	/**
	 * 根据学生编号查询单个学生对象
	 * 
	 * @param studentId 学生编号
	 * @return 查询到的学生对象或者NUll
	 */
	public Student get(int studentId) {
		// 1.判断下标的数值正确?
		int index = findIndexById(studentId);
		// 2.在获得学员对象返回给StudentService
		if (index >= 0) {// 如果下标是正确的
			return allStudents.get(index);
		}
		return null;
	}

	/**
	 * 根据学员的id,查询该学生在集合中的下标位置
	 * 
	 * @param studentId 查询的id
	 * @return 存在的话返回大于等于0的数字,没有找到,返回-1
	 */
	private int findIndexById(int studentId) {
		int index = -1;// 学员在集合中的下标位置
		// 从下标0开始,遍历集合。
		for (int i = 0; i < allStudents.size(); i++) {
			// 依次获取当前学生对象的id和传入的studentId做比较
			if (allStudents.get(i).getId() == studentId) {
				index = i;// 把存在的学生下标,赋值给index
				break;
			}
		}
		return index;// 返回查找的下标
	}

	/**
	 * 查询所有,直接遍历集合
	 */
	public void get() {
		// 打印所有学生信息
		for (int i = 0; i < allStudents.size(); i++) {
			System.out.println(allStudents.get(i));
		}
	}

	/**
	 * 根据班级名称,查询学生列表
	 * 
	 * @param className
	 */
	public void get(String className) {
		for (int i = 0; i < allStudents.size(); i++) {
			if (allStudents.get(i).getClassName().equals(className)) {
				System.out.println(allStudents.get(i));
			}
		}
	}

	/**
	 * 根据姓查找学生
	 * 
	 * @param className
	 */
	public void getLastName(String lastName) {
		for (int i = 0; i < allStudents.size(); i++) {
			if (allStudents.get(i).getName().startsWith("lastName")) {
				System.out.println(allStudents.get(i));
			}
		}
	}

	/**
	 * 根据名字查找学生
	 * 
	 * @param firstName
	 */
	public void getFirstName(String firstName) {
		for (int i = 0; i < allStudents.size(); i++) {
			if (allStudents.get(i).getName().contains(firstName)) {
				System.out.println(allStudents.get(i));
			}
		}
	}

	/**
	 * 指定排序规则,使用自定义排序接口的方法
	 * 
	 * @param com
	 */
	public void sort(MyComparator<Student> com) {
		// 创建新数组,把源数据复制再排序
		Object[] sortTemp = allStudents.toArray();
		// 选择排序
		for (int i = 0; i < sortTemp.length - 1; i++) {
			for (int j = i + 1; j < sortTemp.length; j++) {
				if (com.compare((Student) sortTemp[i], (Student) sortTemp[j]) > 0) {
					Student temp = (Student) sortTemp[i];
					sortTemp[i] = sortTemp[j];
					sortTemp[j] = temp;
				}
			}
		}
		for (Object obj : sortTemp) {
			System.out.println(obj);
		}
	}
	
	/**
	 * 指定筛选规则 满足条件会展示
	 * @param filter 过滤器
	 */
	public void showStuForFilter(MyFilter<Student> filter) {
		for (int i = 0; i < allStudents.size(); i++) {
			if (filter.accpet(allStudents.get(i))) {
				System.out.println(allStudents.get(i));
			}
		}
	}

}

--------------------------------------------------------------------------
service包

public class StudentService {
	// 接收菜单类的请求,执行对应的方法。
	// 调用StudentManager,传递数据,插入到底层
	Scanner sc = new Scanner(System.in);
	StudentManager stm = new StudentManager();

	/**
	 * 展示所有学生
	 */
	public void show() {
		stm.get();
	}

	/**
	 * 新增学员的方法。
	 * 该方法:让用户输入数据!并判断数据
	 */
	public void addStudent() {
		System.out.println("请按照顺序输入正确的学员信息:");

		System.out.println("请输入学员姓名");
		String name = sc.next();
		System.out.println("请输入学员年龄");
		int age = sc.nextInt();
		System.out.println("请输入学员性别(男/女)");
		char sex = sc.next().charAt(0);
		System.out.println("请输入学员的班级名称");
		String className = sc.next();
		System.out.println("请输入学员Java考试成绩(若没有,填0)");
		double javaScore = sc.nextDouble();
		System.out.println("请输入学员HTML考试成绩(若没有,填0)");
		double htmlScore = sc.nextDouble();
		System.out.println("请输入学员Spring考试成绩(若没有,填0)");
		double springScore = sc.nextDouble();
		// 封装成对象
		Student stu = new Student(name, age, sex, className, javaScore, htmlScore, springScore);
		// 调用studentManager里的add方法
		boolean result = stm.add(stu);
		if (result == true) {
			System.out.println("新增成功!");
			System.out.println(stu);
		} else {
			System.out.println("新增失败!");
		}
	}

	public void addStudent(Student stu) {
		stm.add(stu);
	}

	/**
	 * 根据学号查询学生
	 */
	public void getStuById() {
		// 1.判断输入是否正确
		int id = 0;
		do {
			System.out.println("请输入学员的ID:");
			id = sc.nextInt();
			if (id <= 0) {
				System.out.println("学员的id为大于0的整数!");
			}
		} while (id <= 0);
		// 2.有没有该学员,调用根据学号获得学员信息的方法
		Student stu = stm.get(id);
		if (stu != null) {
			System.out.println("学号为" + id + "的学员信息:");
			System.out.println(stu);
		} else {
			System.out.println("学号为" + id + "的学员不存在!");
		}
	}

	/**
	 * 根据学号删除学生
	 */
	public void deleteStuById() {
		// 1.判断输入是否正确
		int id = 0;
		do {
			System.out.println("请输入要删除的学员的ID:");
			id = sc.nextInt();
			if (id <= 0) {
				System.out.println("学员的id为大于0的整数!");
			}
		} while (id <= 0);
		Student stu = stm.remove(id);
		if (stu != null) {
			System.out.println("删除成功!");
		} else {
			System.out.println("删除失败!");
		}
	}

	/**
	 * 根据学号修改学生信息
	 */
	public void updateStuById() {
		// 1.判断输入是否正确
		int id = 0;
		do {
			System.out.println("请输入要修改的学员的ID:");
			id = sc.nextInt();
			if (id <= 0) {
				System.out.println("学员的id为大于0的整数!");
			}
		} while (id <= 0);

		Student stu = stm.get(id);

		if (stu != null) {// 判断学生不为空,再做修改操作
			System.out.println("现在要修改" + stu.getName() + "的信息:");
			System.out.println("学生ID:" + stu.getId());
			System.out.println("学生姓名:" + stu.getName());
			System.out.println("学生年龄:" + stu.getAge());
			System.out.println("学生性别:" + stu.getGender());
			System.out.println("学生班级:" + stu.getClassName());
			System.out.println("Java:" + stu.getJavaScore());
			System.out.println("HTML:" + stu.getHtmlScore());
			System.out.println("Spring:" + stu.getSpringScore());
			System.out.println("-------------------------------------");
			int choice = 0;
			while (true) {
				System.out.println("1.修改学生姓名");
				System.out.println("2.修改性别");
				System.out.println("3.修改班级名称");
				System.out.println("4.修改学生年龄");
				System.out.println("5.修改Java成绩");
				System.out.println("6.修改HTML成绩");
				System.out.println("7.修改Spring成绩");
				System.out.println("8.退出,并保存");
				choice = sc.nextInt();
				switch (choice) {
				case 1:
					System.out.println("请输入学生的新姓名:");
					String name = sc.next();
					stu.setName(name);
					break;
				case 2:
					System.out.println("请输入学生的性别(男  or 女):");
					char gender = sc.next().charAt(0);
					stu.setGender(gender);
					break;
				case 3:
					System.out.println("请输入学生的新班级:");
					String className = sc.next();
					stu.setClassName(className);
					break;
				case 4:
					System.out.println("请输入学生的年龄:");
					int age = sc.nextInt();
					stu.setAge(age);
					break;
				case 5:
					System.out.println("请输入学生的Java成绩:");
					double javaScore = sc.nextDouble();
					stu.setJavaScore(javaScore);
					break;
				case 6:
					System.out.println("请输入学生的HTML成绩:");
					double htmlScore = sc.nextDouble();
					stu.setHtmlScore(htmlScore);
					break;
				case 7:
					System.out.println("请输入学生的Spring成绩:");
					double springScore = sc.nextDouble();
					stu.setSpringScore(springScore);
					break;
				case 8:
					System.out.println("退出!");
					System.out.println("修改后的学员信息为:" + stu);
					return;
				default:
					break;
				}
			}

		} else {
			System.out.println("查无此人!请核对学号");
		}
	}

	/**
	 * 根据班级名称查询学生列表
	 */
	public void getStudentByClassName() {
		System.out.println("输入班级名称:");
		String className = sc.next();
		stm.get(className);
	}

	/**
	 * 根据姓和名查询学生
	 */
	public void getStudentByLike() {
		int choice = 0;
		while (true) {
			System.out.println("1.根据姓查    2.根据名查    0.退出");
			choice = sc.nextInt();
			switch (choice) {
			case 1:
				System.out.println("输入姓氏");
				String lastName = sc.next();
				stm.getLastName(lastName);
				break;
			case 2:
				System.out.println("输入名字");
				String firstName = sc.next();
				stm.getFirstName(firstName);
				break;
			case 0:
				return;
			default:
				break;
			}
		}
	}
	
	/**
	 * 给学生排序
	 */
	public void sortStu() {
		// 1.升序
		// 2.排序依据
		int choice = 0;
		while (true) {
			System.out.println("选择排序条件:");
			System.out.println("1.id 2.年龄 3.成绩  0.退出");
			choice = sc.nextInt();
			switch (choice) {
			case 1:
				stm.sort((stu1,stu2)->stu1.getId()-stu2.getId());
				break;
			case 2:
				stm.sort((stu1,stu2)->stu1.getAge()-stu2.getAge());
				break;
			case 3:
				stm.sort((stu1,stu2)->(int) (stu1.getTotalScore() - stu2.getTotalScore()) * 100);
				break;
			case 0:
				System.out.println("退出");
				return;
			default:
				break;
			}
		}
	}
	
	/**
	 * 筛选学生信息
	 * 年龄大于18的
	 * 总分大于140的
	 */
	public void showFilter() {
		int choice = 0;
		while(true) {
			System.out.println("1.年龄大于18的    2.总分大于140的    0.退出");
			choice = sc.nextInt();
			switch (choice) {
			case 1:
				stm.showStuForFilter((s)->s.getAge()>=18); 
				break;
			case 2:
				stm.showStuForFilter((s)->s.getTotalScore()>140);
				break;
			case 0:
				System.out.println("退出");
				return;
			default:
				break;
			}
		}
	}
	
}

--------------------------------------------------------------------------
menu包

public class SystemMain {
	static Scanner sc = new Scanner(System.in);

	public static void main(String[] args) throws Exception {

		StudentService ss = new StudentService();
		int choice = 0;// 默认选择

		for (int i = 0; i < 10; i++) {
			String name = "hzx" + i;
			int age = (int) (Math.random() * 50);
			char sex = '男';
			String className = "BK202";
			double javaScore = (int) (Math.random() * 100);
			double htmlScore = (int) (Math.random() * 100);
			double springScore = (int) (Math.random() * 100);
			ss.addStudent(new Student(name, age, sex, className, javaScore, htmlScore, springScore));
		}

		while (true) {
			System.out.println("-----学生管理系统-----");
			System.out.println("1.查看所有学员");
			System.out.println("2.新增学员");
			System.out.println("3.查询指定学员信息");
			System.out.println("4.根据id删除学员");
			System.out.println("5.根据id修改学员信息");
			System.out.println("6.根据班级名查询学员");
			System.out.println("7.根据姓名查询学员");
			System.out.println("8.根据需求排序学员信息");
			System.out.println("9.根据需求展示符合条件的学员信息");
			System.out.println("0.退出");
			System.out.print("请选择:");

			choice = sc.nextInt();
			switch (choice) {
			case 1:
				// 查看所有
				ss.show();
				break;
			case 2:
				// 新增
				ss.addStudent();
				break;
			case 3:
				ss.getStuById();
				break;
			case 4:
				ss.deleteStuById();
				break;
			case 5:
				ss.updateStuById();
				break;
			case 6:
				ss.getStudentByClassName();
				break;
			case 7:
				ss.getStudentByLike();
				break;
			case 8:
				ss.sortStu();
				break;
			case 9:
				ss.showFilter();
				break;
			case 0:
				return;
			default:
				break;
			}
		}
	}
}

项目实现

门户菜单

-----学生管理系统-----
1.查看所有学员
2.新增学员
3.查询指定学员信息
4.根据id删除学员
5.根据id修改学员信息
6.根据班级名查询学员
7.根据姓名查询学员
8.根据需求排序学员信息
9.根据需求展示符合条件的学员信息
0.退出
请选择:

--------------------------------------------------------------------------
1.查看所有学员

请选择:1
Student [id=1, name=hzx0, age=11, gender=, className=BK202, javaScore=75.0, htmlScore=56.0, springScore=80.0, totalScore=211.0]
Student [id=2, name=hzx1, age=17, gender=, className=BK202, javaScore=37.0, htmlScore=71.0, springScore=48.0, totalScore=156.0]
Student [id=3, name=hzx2, age=49, gender=, className=BK202, javaScore=71.0, htmlScore=97.0, springScore=19.0, totalScore=187.0]
Student [id=4, name=hzx3, age=41, gender=, className=BK202, javaScore=16.0, htmlScore=50.0, springScore=64.0, totalScore=130.0]
Student [id=5, name=hzx4, age=16, gender=, className=BK202, javaScore=32.0, htmlScore=79.0, springScore=45.0, totalScore=156.0]
Student [id=6, name=hzx5, age=38, gender=, className=BK202, javaScore=0.0, htmlScore=69.0, springScore=19.0, totalScore=88.0]
Student [id=7, name=hzx6, age=0, gender=, className=BK202, javaScore=92.0, htmlScore=49.0, springScore=21.0, totalScore=162.0]
Student [id=8, name=hzx7, age=9, gender=, className=BK202, javaScore=13.0, htmlScore=6.0, springScore=10.0, totalScore=29.0]
Student [id=9, name=hzx8, age=4, gender=, className=BK202, javaScore=68.0, htmlScore=69.0, springScore=36.0, totalScore=173.0]
Student [id=10, name=hzx9, age=49, gender=, className=BK202, javaScore=25.0, htmlScore=80.0, springScore=76.0, totalScore=181.0]

--------------------------------------------------------------------------
2.新增学员

请选择:2
请按照顺序输入正确的学员信息:
请输入学员姓名
hzx10
请输入学员年龄
22
请输入学员性别(/)
男
请输入学员的班级名称
HB20001
请输入学员Java考试成绩(若没有,填084
请输入学员HTML考试成绩(若没有,填063
请输入学员Spring考试成绩(若没有,填085
新增成功!
Student [id=11, name=hzx10, age=22, gender=, className=HB20001, javaScore=84.0, htmlScore=63.0, springScore=85.0, totalScore=232.0]

--------------------------------------------------------------------------
3.查询指定学员信息

请选择:3
请输入学员的ID:
6
学号为6的学员信息:
Student [id=6, name=hzx5, age=38, gender=, className=BK202, javaScore=0.0, htmlScore=69.0, springScore=19.0, totalScore=88.0]

--------------------------------------------------------------------------
4.根据id删除学员

请选择:4
请输入要删除的学员的ID:
7
删除成功!

--------------------------------------------------------------------------
5.根据id修改学员信息

请选择:5
请输入要修改的学员的ID:
3
现在要修改hzx2的信息:
学生ID:3
学生姓名:hzx2
学生年龄:49
学生性别:男
学生班级:BK202
Java:71.0
HTML:97.0
Spring:19.0
-------------------------------------
1.修改学生姓名
2.修改性别
3.修改班级名称
4.修改学生年龄
5.修改Java成绩
6.修改HTML成绩
7.修改Spring成绩
8.退出,并保存
1
请输入学生的新姓名:
hzx33
1.修改学生姓名
2.修改性别
3.修改班级名称
4.修改学生年龄
5.修改Java成绩
6.修改HTML成绩
7.修改Spring成绩
8.退出,并保存
2
请输入学生的性别(男  or 女):
女
1.修改学生姓名
2.修改性别
3.修改班级名称
4.修改学生年龄
5.修改Java成绩
6.修改HTML成绩
7.修改Spring成绩
8.退出,并保存
3
请输入学生的新班级:
HLJ2003
1.修改学生姓名
2.修改性别
3.修改班级名称
4.修改学生年龄
5.修改Java成绩
6.修改HTML成绩
7.修改Spring成绩
8.退出,并保存
5
请输入学生的Java成绩:
96
1.修改学生姓名
2.修改性别
3.修改班级名称
4.修改学生年龄
5.修改Java成绩
6.修改HTML成绩
7.修改Spring成绩
8.退出,并保存
8
退出!
修改后的学员信息为:Student [id=3, name=hzx33, age=49, gender=, className=HLJ2003, javaScore=96.0, htmlScore=97.0, springScore=19.0, totalScore=212.0]

--------------------------------------------------------------------------
6.根据班级名查询学员

请选择:6
输入班级名称:
HLJ2003
Student [id=3, name=hzx33, age=49, gender=, className=HLJ2003, javaScore=96.0, htmlScore=97.0, springScore=19.0, totalScore=212.0]

--------------------------------------------------------------------------
7.根据姓名查询学员

请选择:7
1.根据姓查    2.根据名查    0.退出
2
输入名字
x4
Student [id=5, name=hzx4, age=16, gender=, className=BK202, javaScore=32.0, htmlScore=79.0, springScore=45.0, totalScore=156.0]

--------------------------------------------------------------------------
8.根据需求排序学员信息

请选择:8
选择排序条件:
1.id 2.年龄 3.成绩  0.退出
2
Student [id=9, name=hzx8, age=4, gender=, className=BK202, javaScore=68.0, htmlScore=69.0, springScore=36.0, totalScore=173.0]
Student [id=8, name=hzx7, age=9, gender=, className=BK202, javaScore=13.0, htmlScore=6.0, springScore=10.0, totalScore=29.0]
Student [id=1, name=hzx0, age=11, gender=, className=BK202, javaScore=75.0, htmlScore=56.0, springScore=80.0, totalScore=211.0]
Student [id=5, name=hzx4, age=16, gender=, className=BK202, javaScore=32.0, htmlScore=79.0, springScore=45.0, totalScore=156.0]
Student [id=2, name=hzx1, age=17, gender=, className=BK202, javaScore=37.0, htmlScore=71.0, springScore=48.0, totalScore=156.0]
Student [id=11, name=hzx10, age=22, gender=, className=HB20001, javaScore=84.0, htmlScore=63.0, springScore=85.0, totalScore=232.0]
Student [id=6, name=hzx5, age=38, gender=, className=BK202, javaScore=0.0, htmlScore=69.0, springScore=19.0, totalScore=88.0]
Student [id=4, name=hzx3, age=41, gender=, className=BK202, javaScore=16.0, htmlScore=50.0, springScore=64.0, totalScore=130.0]
Student [id=10, name=hzx9, age=49, gender=, className=BK202, javaScore=25.0, htmlScore=80.0, springScore=76.0, totalScore=181.0]
Student [id=3, name=hzx33, age=49, gender=, className=HLJ2003, javaScore=96.0, htmlScore=97.0, springScore=19.0, totalScore=212.0]
选择排序条件:
1.id 2.年龄 3.成绩  0.退出
3
Student [id=8, name=hzx7, age=9, gender=, className=BK202, javaScore=13.0, htmlScore=6.0, springScore=10.0, totalScore=29.0]
Student [id=6, name=hzx5, age=38, gender=, className=BK202, javaScore=0.0, htmlScore=69.0, springScore=19.0, totalScore=88.0]
Student [id=4, name=hzx3, age=41, gender=, className=BK202, javaScore=16.0, htmlScore=50.0, springScore=64.0, totalScore=130.0]
Student [id=2, name=hzx1, age=17, gender=, className=BK202, javaScore=37.0, htmlScore=71.0, springScore=48.0, totalScore=156.0]
Student [id=5, name=hzx4, age=16, gender=, className=BK202, javaScore=32.0, htmlScore=79.0, springScore=45.0, totalScore=156.0]
Student [id=9, name=hzx8, age=4, gender=, className=BK202, javaScore=68.0, htmlScore=69.0, springScore=36.0, totalScore=173.0]
Student [id=10, name=hzx9, age=49, gender=, className=BK202, javaScore=25.0, htmlScore=80.0, springScore=76.0, totalScore=181.0]
Student [id=1, name=hzx0, age=11, gender=, className=BK202, javaScore=75.0, htmlScore=56.0, springScore=80.0, totalScore=211.0]
Student [id=3, name=hzx33, age=49, gender=, className=HLJ2003, javaScore=96.0, htmlScore=97.0, springScore=19.0, totalScore=212.0]
Student [id=11, name=hzx10, age=22, gender=, className=HB20001, javaScore=84.0, htmlScore=63.0, springScore=85.0, totalScore=232.0]
选择排序条件:
1.id 2.年龄 3.成绩  0.退出
0
退出

--------------------------------------------------------------------------
9.根据需求展示符合条件的学员信息

请选择:9
1.年龄大于182.总分大于1400.退出
1
Student [id=3, name=hzx33, age=49, gender=, className=HLJ2003, javaScore=96.0, htmlScore=97.0, springScore=19.0, totalScore=212.0]
Student [id=4, name=hzx3, age=41, gender=, className=BK202, javaScore=16.0, htmlScore=50.0, springScore=64.0, totalScore=130.0]
Student [id=6, name=hzx5, age=38, gender=, className=BK202, javaScore=0.0, htmlScore=69.0, springScore=19.0, totalScore=88.0]
Student [id=10, name=hzx9, age=49, gender=, className=BK202, javaScore=25.0, htmlScore=80.0, springScore=76.0, totalScore=181.0]
Student [id=11, name=hzx10, age=22, gender=, className=HB20001, javaScore=84.0, htmlScore=63.0, springScore=85.0, totalScore=232.0]
1.年龄大于182.总分大于1400.退出
2
Student [id=1, name=hzx0, age=11, gender=, className=BK202, javaScore=75.0, htmlScore=56.0, springScore=80.0, totalScore=211.0]
Student [id=2, name=hzx1, age=17, gender=, className=BK202, javaScore=37.0, htmlScore=71.0, springScore=48.0, totalScore=156.0]
Student [id=3, name=hzx33, age=49, gender=, className=HLJ2003, javaScore=96.0, htmlScore=97.0, springScore=19.0, totalScore=212.0]
Student [id=5, name=hzx4, age=16, gender=, className=BK202, javaScore=32.0, htmlScore=79.0, springScore=45.0, totalScore=156.0]
Student [id=9, name=hzx8, age=4, gender=, className=BK202, javaScore=68.0, htmlScore=69.0, springScore=36.0, totalScore=173.0]
Student [id=10, name=hzx9, age=49, gender=, className=BK202, javaScore=25.0, htmlScore=80.0, springScore=76.0, totalScore=181.0]
Student [id=11, name=hzx10, age=22, gender=, className=HB20001, javaScore=84.0, htmlScore=63.0, springScore=85.0, totalScore=232.0]
1.年龄大于182.总分大于1400.退出
0
退出
发布了40 篇原创文章 · 获赞 0 · 访问量 1129

猜你喜欢

转载自blog.csdn.net/qq_41841482/article/details/105079263
今日推荐