> 文档中心 > 2021-05-26

2021-05-26

 

实训作业:学生信息管理系统:

话不多说见代码

1.第一级功能实现类:StudentManaagement

package 学生管理系统;import java.util.Scanner;import java.util.ArrayList;/*学生管理系统:本类用于:存放main方法,运行后显示学生管理系统的功能菜单 */public class StudentManagement {    public static void main(String[] args) { Function fun = new Function(); ArrayList users = new ArrayList(); User user1=new User(); users.add(user1);  while(true) { System.out.println("------学生管理系统------"); System.out.println("---请选择您所需的服务---"); System.out.println("----1.登录"); System.out.println("----2.注册"); System.out.println("----3.退出"); Scanner scanner = new Scanner(System.in); int number1 = Integer.parseInt(scanner.nextLine());     switch (number1) {  case 1:      fun.login(users);      break;  case 2:      fun.register(users);      break;  case 3:      fun.exit();      break;  default:      System.out.println("输入错误,请重输");      break;     } }    }}

2.储存学生信息类 Student

package 学生管理系统;/*此类用与存放学生信息 */public class Student {    private String stuname="法外狂徒张三";    private String number="14250";    private String address="厚大法考";    public String getName() { return stuname;    }    public void setName(String name) { this.stuname = name;    }    public String getNumber() { return number;    }    public void setNumber(String number) { this.number = number;    }    public String getAddress() { return address;    }    public void setAddress(String address) { this.address = address;    }    public String toString() { return "Student{" +  "name='" + stuname + '\'' +  ", number='" + number + '\'' +  ", address='" + address + '\'' +  '}';    }}

3.用户账号密码存储类 User

package 学生管理系统;/*此类用于存放用户账号与密码 */public  class User {    private String username="123";    private String password="123";    public String getUsername() { return username;    }    public void setUsername(String username) { this.username = username;    }    public String getPassword() { return password;    }    public void setPassword(String password) { this.password = password;    }public String toString() { return "User{" +  "username='" + username + '\'' +  ", password='" + password + '\'' +  '}';    }}

4.第一列表方法实现类 Function

package 学生管理系统;/*本类为第一列表方法类,即main方法运行后界面显示的功能的“功能实现方法”内含方法:登录,注册,退出 */import java.util.ArrayList;import java.util.Scanner;public class Function {    public static void login(ArrayList users) {//形参为ArrayList集合 System.out.println("-----欢迎进入登录界面-----"); while(true) { System.out.println("请输入账号:"); Scanner scanner = new Scanner(System.in);     /      * username1为输入的用户名      */ String username1 = scanner.nextLine(); if (users.size() == 0) {     System.out.println("该账号未注册");//集合中没有元素,则此账号未注册     break; }     /      * flag为标记,初始为1,如果初始值变为二,则说明users集合中有此用户名(username1)      */ int flag = 1;     for (int i = 0; i < users.size(); i++) {//遍历集合并比对,有则将flag值改为2  if (users.get(i).getUsername().equals(username1)) {      System.out.println("请输入密码");      flag = 2;      break;  }//有则,停止,并输出“请输入密码”     }     if (flag == 1) {  System.out.println("该账号未注册,请返回注册");  return;     //结束掉登录方法,返回到第一界面     }     /      * password1为输入的密码      * flag2为一个标记初始值为1,如果登录成功则赋值为2      */     String password1 = scanner.nextLine();     int flag2=1;     for (int i = 0; i < users.size(); i++) {  if (users.get(i).getUsername().equals(username1) && users.get(i).getPassword().equals(password1))  {      System.out.println("登录成功");   //账号密码同时吻合则成功登录      flag2=2;      Between between = new Between();      between.control();//登录成功则进入第二界面  }     }     if(flag2==1){  System.out.println("账号或密码输入错误,请重新输入!");     } }    }//d登录方法    public void exit() { System.out.println("谢谢使用");     //用于结束main方法,程序停止运行 System.exit(0);    }//退出方法    public static void register(ArrayList users) {//注册方法,传入形参为ArrayList集合 System.out.println("----欢迎来到注册页面----"); System.out.println("请输入账号:"); Scanner scanner = new Scanner(System.in); User user = new User(); /  * name为将要注册的账号  */ String name = scanner.nextLine(); for (int i = 0; i < users.size(); i++) {     if (users.get(i).getUsername().equals(name)) {  //与集合中的用户名比较  System.out.println("该账号存在,请登录");//有则请登录,结束方法  return;     } } while (true) {//没有,则正式开始注册     System.out.println("请输入密码");     /      * number为新注册账号的密码      * number2为第二次输入的密码(确认两次输入是否一致)      */     String number = scanner.nextLine();     System.out.println("请再次输入密码:");     String number2 = scanner.nextLine();     if (number.equals(number2)) {//两次输入的密码如果一致则注册成功  user.setUsername(name);  user.setPassword(number);  System.out.println("注册成功!");  users.add(user); //将新注册的账号,密码加入集合中  return;  //注册完毕,结束此方法,回归第一界面     }     else {  System.out.println("两次输入不同,请重新输入"); //两次输入不一致则重新输入密码     } }    }//注册方法}

5.过渡类 Between

package 学生管理系统;/*本类为过渡类:与main方法作用有相似之处,里面包含控制方法即,显示在成功登录后的页面,联系第二列表方法类 */import java.util.ArrayList;import java.util.Scanner;public class Between {    public static void control() { /* 此处先将一个学生的信息加入到ArrayList中 以便传值给方法  */ ArrayList students=new ArrayList(); Student student = new Student(); students.add(student); while (true) {     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.退出系统");     Scanner scanner = new Scanner(System.in);     String number = scanner.nextLine();     Function2 fun2 = new Function2();     switch (number) {  case "1":      fun2.findAll(students);      break;  case "2":      fun2.addStudent(students);      break;  case "3":      fun2.deleteStudent(students);      break;  case "4":      fun2.refactorStudent(students);      break;  case "5":      fun2.exit();      break;  default:      System.out.println("输入有误,请重输");      break;     } }    }}

6.第二列表方法类: Function2

package 学生管理系统;/*本类为第二列表方法类,是在登录学生管理后,页面显示功能的”实现方法“包含:查看所有学生,删除,修改,信息注册,退出。 */import java.util.ArrayList;import java.util.Scanner;public class Function2 {    public static void findAll(ArrayList students){ //查询所有学生信息,形参为ArrayList集合 if(students.size()==0){     System.out.println("系统内无学生信息,请添加"); } else {     System.out.println("学号\t\t姓名\t\t籍贯");     for (int i = 0; i < students.size(); i++) {  System.out.println(students.get(i).getNumber()+"\t\t"+students.get(i).getName()+   "\t\t"+students.get(i).getAddress());     } }    }//查询方法  ok    public static void addStudent (ArrayList students) { System.out.println("----添加学生页面----"); Student student=new Student(); System.out.println("请输入学号"); Scanner scanner=new Scanner(System.in); String stuNumber=scanner.nextLine(); if (students.size() != 0) {     for (int i = 0; i < students.size(); i++) {  if(students.get(i).getNumber().equals(stuNumber)){      System.out.println("该学生已有档案,无需添加");      return;  }     } } student.setNumber(stuNumber); System.out.println("请输入姓名:"); String name=scanner.nextLine(); student.setName(name); System.out.println("请输入籍贯"); String address=scanner.nextLine(); student.setAddress(address); students.add(student); System.out.println("学生信息注册成功!");    }//学生信息注册方法 ok    public static void deleteStudent(ArrayList students){ System.out.println("----删除学生信息----"); while (true) {     System.out.println("请输入您想删除的学生学号");     Scanner scanner = new Scanner(System.in);     String number = scanner.nextLine();     int index = -1;     for (int i = 0; i < students.size(); i++) {  if (students.get(i).getNumber().equals(number)) {      index = i;      break;  }     }     if (index == -1) {  System.out.println("该学生信息未录入本系统");     }     else{  students.remove(index);  System.out.println("删除成功!");  break;     } }    }//删除方法 ok    public static void refactorStudent(ArrayList students){ System.out.println("----学生信息修改----"); if(students.size()==0){     System.out.println("系统内无可修改信息!");     return; } System.out.println("请输入需修改学生的学号:"); Scanner scanner=new Scanner(System.in); String number1=scanner.nextLine(); int index=-3; for(int i=0;i<students.size();i++){     if(students.get(i).getNumber().equals(number1)){  index=i;  break;     } } if(index==-3){     System.out.println("该学号不存在!");     return; } Student student=students.get(index); while(true) {     System.out.println("-------信息修改-------");     System.out.println("请输入需要更改的信息:");     System.out.println("1.学号");     System.out.println("2.姓名");     System.out.println("3.籍贯");     System.out.println("4.退出修改");     String number2 = scanner.nextLine();     switch (number2) {  case "1":      int flag2=0;      while(true) {   int flag=1;   if(flag2==1){System.out.println("该学号已被注册,请重新输入:");   }   else {System.out.println("请输入新学号:");   }   String newNumber = scanner.nextLine();   for (int i = 0; i < students.size(); i++) {if (students.get(i).getNumber().equals(newNumber)) {    flag = 2;    flag2=1;    break;}   }   if (flag == 1) {student.setNumber(newNumber);System.out.println("学号修改成功!");break;   }      }      break;  case "2":      System.out.println("请输入姓名:");      String newName=scanner.nextLine();      student.setName(newName);      System.out.println("姓名修改成功!");      break;  case "3":      System.out.println("请输入籍贯:");      String newAddress=scanner.nextLine();      student.setAddress(newAddress);      System.out.println("籍贯修改成功!");      break;  case "4":      return;  default:      System.out.println("输入错误,请重新输入!");      break;     } }    }//修改方法 ok    public static void exit() { System.out.println("谢谢使用"); System.exit(0);    }//退出方法 ok}

以上便是,此次的实训小项目:学生信息管理系统

今天是 2021 5 26号,来长沙实训有三天了(5月23号出发),中公教育的讲师人挺好的,讲得也较为精细。

历时一天半,终于写完了这个小项目,小有成就感。回顾项目制作流程,不禁感叹,把理论用于实践也是件有难度的事,这个功能用什么方法可以实现呢?这段代码是否还可以优化呢?这个地方报错了,该怎么解决?如何将资源合理分配?等等一系列在之前编码过程中未曾考虑到的问题,而这些问题在项目制作当中却是必须考虑到的。

额,这个项目做是做出来了,但所运用的“java工具”较为简单。如有需改进的地方,希望看到这篇文章的小伙伴能指出。

欢迎各位同行留言评论!