题目要求:
* 功能:
* 1、录入学员信息
* 录入学员信息(编号,姓名,性别,年龄,成绩),要求学员(编号相同
* 表示同一个学员)不可重复,如果录入重复学员需要重新录入信息,如果成功
* 则表示录入成功,提示是否继续录入,不继续则返回选择菜单功能,继续则可
* 继续录入学员信息。
* 2、查看所有学员信息(根据成绩降序,如果成绩一样根据年龄降序,如果年龄
* 一样根据编号进行升序)
* 3、根据学员编号查看学员信息
* 4、删除指定学员信息(可根据学员编号进行删除)
* 5、修改学员信息(根据输入学员编号进行修改学员信息)
* 根据输入的学员编号首先查看学员当前信息,然后再修改
* 6、退出系统
菜单功能实现:
package jihe;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
do {
System.out.println(" 欢迎进入系统 ");
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("---------6.退出系统---------");
System.out.println(" ");
System.out.println("请输入功能编号:");
Scanner sc = new Scanner(System.in);
int index = sc.nextInt();
switch (index) {
case 1:
Insert.insert();//调用录入学生信息函数
break;
case 2:
SelectAll.selectAll();//查看所有学员信息
break;
case 3:
SelectId.selectId();//根据学员编号查看学员信息
break;
case 4:
Delete.delete();//删除指定学员信息
break;
case 5:
UpDate.upDate();//修改学员信息
break;
case 6:
System.exit(0);//退出系统
default:
System.out.println("您输入的编号有误,请重新输入");
System.out.println(" ");
}
}while(true);
}
}
学生实体的信息,get和set方法、重写equals、hashCode、toString方法
package jihe;
import java.util.Objects;
public class Student {
private int id;
private String name;
private String sex;
private int age;
private double grade;
public Student() {
}
public Student(int id, String name, String sex, int age, double grade) {
this.id = id;
this.name = name;
this.sex = sex;
this.age = age;
this.grade = grade;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public double getGrade() {
return grade;
}
public void setGrade(double grade) {
this.grade = grade;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Student student = (Student) o;
return id == student.id;
}
@Override
public int hashCode() {
return Objects.hash(id);
}
@Override
public String toString() {
return "Student{" +
"id=" + id +
", name='" + name + '\'' +
", sex='" + sex + '\'' +
", age=" + age +
", grade=" + grade +
'}';
}
}
录入学员信息的实现
package jihe;
import java.util.LinkedList;
import java.util.Scanner;
public class Insert {
static LinkedList<Student> list=new LinkedList<>();
public static void insert(){
Scanner sc=new Scanner(System.in);
do {
System.out.println("请输入学员编号:");
int sid = sc.nextInt();
System.out.println("请输入学员姓名:");
String sname = sc.next();
System.out.println("请输入学员性别:");
String ssex = sc.next();
System.out.println("请输入学员年龄:");
int sage = sc.nextInt();
System.out.println("请输入学员成绩:");
double sgrade = sc.nextDouble();
Student student = new Student(sid, sname, ssex, sage, sgrade);
if(!list.contains(student)) {
list.add(student);
System.out.println("录入信息成功!是否继续输入。 1:继续 2:返回菜单");
int str=sc.nextInt();
if(!(str==1)){
break;
}
}else{
System.out.println("录入学员信息重复,请重新输入:");
}
System.out.println(list);
}while(true);
}
}
查看所有学员信息
package jihe;
import java.util.Collections;
import java.util.Comparator;
public class SelectAll {
public static void selectAll() {
Collections.sort(Insert.list, new Comparator<Student>() {
@Override
public int compare(Student o1, Student o2) {
//根据成绩降序
double result = o2.getGrade() - o1.getGrade();
if (result == 0) {//如果成绩相同,根据年龄降序
result = o2.getAge() - o1.getAge();
if (result == 0) {//如果年龄相同。根据编号升序
result = o1.getId() - o1.getAge();
}
}
return (int) result;
}
});
System.out.println(Insert.list);
}
}
根据学生编号查看学生信息
package jihe;
import java.util.Scanner;
public class SelectId {
public static void selectId() {
System.out.println("请输入要查找学生的编号:");
Scanner sc = new Scanner(System.in);
int i = sc.nextInt();
boolean b = false;
for (Student stu : Insert.list) {
if (i == stu.getId()) {
System.out.println(stu);
b = true;
break;
}
}
if (b == false) {
System.out.println("您查找的学生不存在,请重新输入:");
selectId();
}
}
}
删除指定学员信息
package jihe;
import java.util.Scanner;
public class Delete {
public static void delete(){
System.out.println("请输入要删除学生的编号:");
Scanner sc = new Scanner(System.in);
int i = sc.nextInt();
boolean b = false;
for (Student stu : Insert.list) {
if (i == stu.getId()) {
Insert.list.remove(stu);
try {
System.out.println("删除成功!");
} catch (Exception e) {
e.printStackTrace();
}
;
b = true;
break;
}
}
if (b == false) {
System.out.println("您查找的学生不存在,请重新输入:");
delete();
}
}
}
修改学员信息
package jihe;
import java.util.Scanner;
public class UpDate {
public static void upDate() {
System.out.println("请输入要修改学生的编号:");
Scanner sc = new Scanner(System.in);
int i = sc.nextInt();
boolean b = false;
for (Student stu : Insert.list) {
if (i == stu.getId()) {
System.out.println(stu);
System.out.println("请输入要修改学生信息的编号:1.id 2.name 3.sex 4.age 5.grade");
int j=sc.nextInt();
System.out.println("请输入修改的内容:");
switch (j){
case 1:
stu.setId(sc.nextInt());
System.out.println("修改成功!");
System.out.println(stu);
break;
case 2:
stu.setName(sc.next());
System.out.println("修改成功!");
System.out.println(stu);
break;
case 3:
stu.setSex(sc.next());
System.out.println("修改成功!");
System.out.println(stu);
break;
case 4:
stu.setAge(sc.nextInt());
System.out.println("修改成功!");
System.out.println(stu);
break;
case 5:
stu.setGrade(sc.nextDouble());
System.out.println("修改成功!");
System.out.println(stu);
break;
}
b = true;
break;
}
}
if (b == false) {
System.out.println("您修改的学生不存在,请重新输入:");
upDate();
}
}
}
简单的学生信息管理的增删改查就完成了
喜欢的朋友可以点点赞,不喜勿喷!!!!!
版权声明:本文为qq_45299673原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。