学生管理系统
思路:使用数组来完成
1.Student.java类
public class Student {
//学生学号
private String stuNum;
//学生姓名
private String name;
//学生宿舍号
private String domNum;
//学生成绩
private int grade;
public String getStuNum() {
return stuNum;
}
public void setStuNum(String stuNum) {
this.stuNum = stuNum;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDomNum() {
return domNum;
}
public void setDomNum(String domNum) {
this.domNum = domNum;
}
public int getGrade() {
return grade;
}
public void setGrade(int grade) {
this.grade = grade;
}
public String getMessage() {
String message = "学生学号:"+this.stuNum+"学生姓名:"+"学生宿舍号"+this.domNum+this.name+"学生成绩:"+this.grade;
return message;
}
public Student(String stuNum,String name,String domNum,int grade) {
this.stuNum = stuNum;
this.name = name;
this.domNum = domNum;
this.grade = grade;
}
public Student(){
}
}
2.StudentMain.java类
import java.util.Scanner;
public class StudentMain {
//使用数组来完成
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入学生总人数");
int count = input.nextInt();
//创建数组
Student[] students = new Student[count];
while(true) {
//1.新增一名学生 2.根据学号查询学生 3.根据学号修改学生 4. 根据学号删除一名学生 5. 查看所有学生 其他.退出
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("其他.退出");
System.out.println("*********************");
System.out.println("请选择操作");
int x = input.nextInt();
switch(x) {
case 1:{
System.out.print("请输入学生学号:");
String stuNum = input.next();
System.out.print("请输入学生姓名:");
String name = input.next();
System.out.print("请输入学生宿舍号:");
String domNum = input.next();
System.out.print("请输入学生成绩:");
int grade = input.nextInt();
Student student = new Student(stuNum,name,domNum,grade);
students=StudentAll.save(student, students);
break;
}
case 2:{
System.out.print("请输入学生学号:");
String stuNum = input.next();
System.out.println(StudentAll.getStudent(stuNum, students));
break;
}
case 3:{
System.out.println("请输入要修改的学生学号");
String stuNum = input.next();
System.out.print("请输入学生姓名:");
String name = input.next();
System.out.print("请输入学生宿舍号:");
String domNum = input.next();
System.out.print("请输入学生成绩:");
int grade = input.nextInt();
Student student = new Student(stuNum,name,domNum,grade);
students = StudentAll.update(stuNum, student, students);
break;
}
case 4:{
System.out.println("请输入学生的学号");
String stuNum = input.next();
students = StudentAll.delStudent(stuNum,students);
break;
}
case 5:{
StudentAll.getStudentAll(students);
break;
}
default:{
System.exit(0);
break;
}
}
}
}
}
3.StudentAll.java类
public class StudentAll {
public static Student[] save(Student student, Student[] students) {
//先查询是否有这个 学生的学号
boolean fal=checkSid(student.getStuNum(), students);
if(fal) {
System.out.println("该学生的学号已存在,请重新输入");
return students;
}
for(int i = 0;i < students.length;i++) {
if(students[i]==null) {
students[i] = student;
break;
}
}
return students;
}
public static String getStudent(String stuNum,Student[] students) {
Student s = null;
for (Student student : students) {
if(student!=null&&student.getStuNum().equals(stuNum)) {
s=student;
}
}
String message = s == null?"error:该学号不存在请重新输入":s.getMessage();
return message;
}
public static Student[] update(String stuNum,Student student,Student[] students) {
//先检查是否有这个学生的学号
boolean fal = checkSid(stuNum,students);
if(!fal) {
System.out.println("请输入正确的学生学号");
return students;
}
for(int i = 0;i < students.length;i++) {
if(students[i] != null && students[i].getStuNum().equals(stuNum)) {
students[i] = student;
}
}
return students;
}
public static Student[] delStudent(String stuNum,Student[] students) {
//先检查是否有这个学生的学号
boolean fal = checkSid(stuNum,students);
if(!fal) {
System.out.println("请输入正确的学生学号");
return students;
}
for(int i = 0;i < students.length;i++) {
if(students[i] != null && students[i].getStuNum().equals(stuNum)) {
students[i] = null;
}
}
return students;
}
public static void getStudentAll(Student[] students) {
for(Student student : students) {
if(student != null) {
System.out.println(student.getMessage());
}
}
}
public static boolean checkSid(String stuNum,Student[] students) {
boolean fal = false;
//先检查是否有这个
String message = getStudent(stuNum,students);
//判断是否包含 error 有则没有此学生学号
if(!message.contains("error")) {
fal = true;
}
return fal;
}
}