学生管理系统实现步骤:
- 定义学生类
- 学生管理系统的主界面的代码编写
- 学生管理系统的查看所有学生的代码编写
- 学生管理系统的添加学生代码的编写
- 学生管理系统的删除学生的代码编写
- 学生管理系统的修改学生的代码编写
学生系统主界面:
public class StudentManagerTest {public static void main(String[] args) {//创建集合对象,用于存储学生数据ArrayList<Student> array = new ArrayList<Student>();//为了让程序能够回到这里,我们使用for循环,死循环while(true) {//这是学生管理系统的主界面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("不好意思,目前没有学生信息可供查询,请重新输入您的选择");//创建对象Scanner sc = new Scanner(System.in);String choiceString = sc.nextLine();//用switch 语句实现switch(choiceString) {case "1"://查看所有学生findAllStudent(array);break;case "2"://添加学生addStudent(array);break;case "3"://删除学生deleteStudent(array);break;case "4"://修改学生updateStudent(array);break;case "5"://退出System.out.println("谢谢你的使用");System.exit(0); //JVM退出break;default:break;}}}
查看所有学生
public static void findAllStudent(ArrayList<Student> array) {//首先来判断集合中是否有数据,如果没有数据就给出提示,并让该方法不继续向下执行if(array.size() == 0) {System.out.println("不好意思,目前没有学生信息可供查看,请回去重新选择你的操作");return;}//\t 其实就是一个tab位置System.out.println("学号\t姓名\t年龄\t居住地\t");for(int x=0; x<array.size(); x++) {Student s = array.get(x);System.out.println(s.getId()+"\t"+s.getName()+"\t"+s.getAge()+"\t"+s.getAddress());}}
添加学生:
//添加学生public static void addStudent(ArrayList<Student> array) {//创建键盘录入对象Scanner sc = new Scanner(System.in);//为了让id能够访问到,把id定义在循环外String id;//Ϊ为了让代码能够回到这里,用循环while(true) {System.out.println("请输入学号:");id = sc.nextLine();//判断学号有没有被占用//定义标记boolean flag = false;//遍历集合,得到每一个学生for(int x=0; x<array.size(); x++) {Student s = array.get(x);//获取该学生的学号,和键盘录入的学号进行比较if(s.getId().equals(id)) {flag = true; //说明学号被占用了break;}}if(flag) {System.out.println("你输入的学号有误");}else {break; //结束循环}}System.out.println("请输入学生姓名:");String name = sc.nextLine();System.out.println("请输入学生年龄");String age = sc.nextLine();System.out.println("请输入学生居住地");String address = sc.nextLine();//创建学生对象Student s = new Student();s.setId(id);s.setName(name);s.setAge(age);s.setAddress(address);//将学生对象添加到集合array.add(s);//输出提示System.out.println("添加成功");}
修改学生信息
//修改学生public static void updateStudent(ArrayList<Student> array) {//修改学号思路:键盘录入一个学号,到集合中查找,看是否有学生使用的是该学号,如果有就修改学生//创建键盘录入对象Scanner sc = new Scanner(System.in);System.out.println("请输入你要修改的学号");String id = sc.nextLine();//定义一个索引int index = -1;//遍历集合for(int x=0; x<array.size(); x++) {//获取每一个学生对象Student s = array.get(x);//拿着学生对象的学号和键盘录入的学号进行比较if(s.getId().equals(id)) {index = x;break;}}if(index == -1) {System.out.println("不好意思,你要修改的学号对应的学生信息不存在,请回去重新你的选择");}else {System.out.println("请输入学生姓名");String name = sc.nextLine();System.out.println("请输入学生年龄");String age = sc.nextLine();System.out.println("请输入学生地址");String address = sc.nextLine();//创建学生对象Student s = new Student();s.setId(id);s.setName(name);s.setAge(age);s.setAddress(address);//修改集合中的学生对象array.set(index, s);//给出提示System.out.println("学生信息修改成功");}}
删除学生
//删除学生信息public static void deleteStudent(ArrayList<Student> array) {//删除学生思路:键盘录入一个学号,到集合中去查找,看是否学生使用该学号,如果有就删除//创建键盘录入对象Scanner sc = new Scanner(System.in);System.out.println("请输入你要删除的学号");String id = sc.nextLine();int index = -1;//集合遍历for(int x=0; x<array.size(); x++) {//得到集合中的元素Student s = array.get(x);if(s.getId().equals(id)) {index = x;break;}}if(index == -1) {System.out.println("不好意思,你要删除的学生不存在,请回去重新选择你的操作");}else {array.remove(index);System.out.println("删除学生成功");}}
整体代码:
类:
package com.demo;
/** �����ҵ�ѧ����*/
public class Student {//学号private String id;//姓名private String name;//年龄private String age;//居住地private String address;public Student() {}public Student(String id, String name, String age, String address) {this.id = id;this.name = name;this.age = age;this.address = address;}public String getId() {return id;}public void setId(String id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getAge() {return age;}public void setAge(String age) {this.age = age;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}}
测试类:
package com.demo;import java.util.ArrayList;
import java.util.Scanner;public class StudentManagerTest {public static void main(String[] args) {//创建集合对象,用于存储学生数据ArrayList<Student> array = new ArrayList<Student>();//为了让程序能够回到这里,我们使用for循环,死循环while(true) {//这是学生管理系统的主界面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("不好意思,目前没有学生信息可供查询,请重新输入您的选择");//创建对象Scanner sc = new Scanner(System.in);String choiceString = sc.nextLine();//用switch 语句实现switch(choiceString) {case "1"://查看所有学生findAllStudent(array);break;case "2"://添加学生addStudent(array);break;case "3"://删除学生deleteStudent(array);break;case "4"://修改学生updateStudent(array);break;case "5"://退出System.out.println("谢谢你的使用");System.exit(0); //JVM退出break;default:break;}}}//修改学生public static void updateStudent(ArrayList<Student> array) {//修改学号思路:键盘录入一个学号,到集合中查找,看是否有学生使用的是该学号,如果有就修改学生//创建键盘录入对象Scanner sc = new Scanner(System.in);System.out.println("请输入你要修改的学号");String id = sc.nextLine();//定义一个索引int index = -1;//遍历集合for(int x=0; x<array.size(); x++) {//获取每一个学生对象Student s = array.get(x);//拿着学生对象的学号和键盘录入的学号进行比较if(s.getId().equals(id)) {index = x;break;}}if(index == -1) {System.out.println("不好意思,你要修改的学号对应的学生信息不存在,请回去重新你的选择");}else {System.out.println("请输入学生姓名");String name = sc.nextLine();System.out.println("请输入学生年龄");String age = sc.nextLine();System.out.println("请输入学生地址");String address = sc.nextLine();//创建学生对象Student s = new Student();s.setId(id);s.setName(name);s.setAge(age);s.setAddress(address);//修改集合中的学生对象array.set(index, s);//给出提示System.out.println("学生信息修改成功");}}//删除学生信息public static void deleteStudent(ArrayList<Student> array) {//删除学生思路:键盘录入一个学号,到集合中去查找,看是否学生使用该学号,如果有就删除//创建键盘录入对象Scanner sc = new Scanner(System.in);System.out.println("请输入你要删除的学号");String id = sc.nextLine();int index = -1;//集合遍历for(int x=0; x<array.size(); x++) {//得到集合中的元素Student s = array.get(x);if(s.getId().equals(id)) {index = x;break;}}if(index == -1) {System.out.println("不好意思,你要删除的学生不存在,请回去重新选择你的操作");}else {array.remove(index);System.out.println("删除学生成功");}}//添加学生public static void addStudent(ArrayList<Student> array) {//创建键盘录入对象Scanner sc = new Scanner(System.in);//为了让id能够访问到,把id定义在循环外String id;//Ϊ为了让代码能够回到这里,用循环while(true) {System.out.println("请输入学号:");id = sc.nextLine();//判断学号有没有被占用//定义标记boolean flag = false;//遍历集合,得到每一个学生for(int x=0; x<array.size(); x++) {Student s = array.get(x);//获取该学生的学号,和键盘录入的学号进行比较if(s.getId().equals(id)) {flag = true; //说明学号被占用了break;}}if(flag) {System.out.println("你输入的学号有误");}else {break; //结束循环}}System.out.println("请输入学生姓名:");String name = sc.nextLine();System.out.println("请输入学生年龄");String age = sc.nextLine();System.out.println("请输入学生居住地");String address = sc.nextLine();//创建学生对象Student s = new Student();s.setId(id);s.setName(name);s.setAge(age);s.setAddress(address);//将学生对象添加到集合array.add(s);//输出提示System.out.println("添加成功");}//查看所有学生public static void findAllStudent(ArrayList<Student> array) {//首先来判断集合中是否有数据,如果没有数据就给出提示,并让该方法不继续向下执行if(array.size() == 0) {System.out.println("不好意思,目前没有学生信息可供查看,请回去重新选择你的操作");return;}//\t 其实就是一个tab位置System.out.println("学号\t姓名\t年龄\t居住地\t");for(int x=0; x<array.size(); x++) {Student s = array.get(x);System.out.println(s.getId()+"\t"+s.getName()+"\t"+s.getAge()+"\t"+s.getAddress());}}
}
结果:
主界面:
添加学生:
查看所有学生:
修改学生信息:
删除学生信息: