java实现学生信息管理(对象数组实现)
1. 例题
实体类:
学生类:
id, 姓名,年龄,性别,成绩
需要使用数组保存学生信息
Student[] allStu
需要完成的方法
1. 根据学生的ID,找到对应的学生对象
2. 完成方法,添加新学生
3. 完成方法,删除指定ID的学生
4. 完成方法,展示数组中所有的学生信息
5. 根据学生成绩,完成降序排序
2.功能需求
1:查看学生列表
2:添加一个学生
3:查找一个学生
4:根据学生id删除学生
5:按成绩进行排序
6:退出系统
设计:
共分三个类 Student.java 、SaveStudent.java、 Test.java
3代码实现
3.1学生类
public class Student {
private int id;
private String name;
private int age;
private String sex;
private double score;
public Student() {
super();
}
public Student(int id, String name, int age, String sex, double score) {
super();
this.id = id;
this.name = name;
this.age = age;
this.sex = sex;
this.score = score;
}
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 int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public double getScore() {
return score;
}
public void setScore(double score) {
this.score = score;
}
@Override
public String toString() {
return "Student [id=" + id + ", name=" + name + ", age=" + age + ", sex=" + sex + ", score=" + score + "]";
}
}
3.2 学生管理类
import java.util.Scanner;
public class SaveStudent {
public void menu(){
System.out.println("-----请选择你要执行的功能-----");
System.out.print("1:查看学生列表 ");
System.out.print("2:添加一个学生 ");
System.out.print("3:查找一个学生 ");
System.out.print("4:根据学生id删除学生 ");
System.out.print("5:按成绩进行排序 ");
System.out.print("6:退出系统");
System.out.println("----------------------------");
}
public void print(Student[] arr){
for(int i=0;i<arr.length;i++){
if(null != arr[i]){
System.out.println(arr[i]);
}
}
}
public void create(Student[] arr,int index){
Student student = new Student();
Scanner sc = new Scanner(System.in);
System.out.println("请输入学生id");
int id = sc.nextInt();
student.setId(id);
System.out.println("请输入学生姓名");
String name = sc.next();
student.setName(name);
System.out.println("请输入学生年龄");
int age = sc.nextInt();
student.setAge(age);
System.out.println("请输入学生性别");
String sex = sc.next();
student.setSex(sex);
System.out.println("请输入学生成绩");
double score = sc.nextDouble();
student.setScore(score);
arr[index] = student;
}
public void findById(int id, Student[] arr) {
for(int i = 0; i < arr.length; i++) {
if(id == arr[i].getId()) {
System.out.println(arr[i]);
}
}
}
public void deleteById(int id, Student[] arr) {
for(int i = 0; i < arr.length; i++) {
if(id == arr[i].getId()) {
arr[i] = null; }
}
}
public void orderByScore(Student[] arr) {
for(int i = 0; i < arr.length - 1; i++) {
int maxIndex= i;
for(int j = i+1; j < arr.length; j++) {
if(arr[maxIndex].getScore() < arr[j].getScore()) {
maxIndex = j;
}
if(maxIndex != i) {
Student temp = arr[i];
arr[i] = arr[maxIndex];
arr[maxIndex] = temp;
}
}
}
}
}
3.3 测试类
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
SaveStudent saveStudent = new SaveStudent();
Student student = new Student();
Scanner sc = new Scanner(System.in);
Student[] stuArr = new Student[6];
stuArr[0] = new Student(1, "李明", 17, "男", 66.0);
stuArr[1] = new Student(2, "kangkang", 18, "男", 60.0);
stuArr[2] = new Student(3, "joker", 19, "男", 70.0);
stuArr[3] = new Student(4, "Gary", 20, "男", 77.0);
stuArr[4] = new Student(5, "Bill", 20, "男", 80.0);
stuArr[5] = new Student(6, "Charles", 21, "男", 82.0);
enterSystem(saveStudent, sc, stuArr);
}
public static void enterSystem(SaveStudent saveStudent, Scanner sc, Student[] stuArr) {
while (true) {
saveStudent.menu();
int number = sc.nextInt();
if (number == 1) {
saveStudent.print(stuArr);;
} else if (number == 2) {
System.out.println("请输入你要添加位置");
int index = sc.nextInt();
saveStudent.create(stuArr,index);
} else if (number == 3) {
System.out.println("请输入你要查找的学生的id");
int id = sc.nextInt();
saveStudent.findById(id, stuArr);
} else if (number ==4) {
System.out.println("请输入你要删除的学生id");
int id = sc.nextInt();
saveStudent.deleteById(id,stuArr);
} else if (number == 5) {
saveStudent.orderByScore(stuArr);
} else if (number == 6) {
System.exit(0);
} else {
System.out.println("请重新输入");
}
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)