在千锋“逆战”学第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考试成绩(若没有,填0)
84
请输入学员HTML考试成绩(若没有,填0)
63
请输入学员Spring考试成绩(若没有,填0)
85
新增成功!
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.年龄大于18的 2.总分大于140的 0.退出
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.年龄大于18的 2.总分大于140的 0.退出
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.年龄大于18的 2.总分大于140的 0.退出
0
退出