简单的学生管理系统
主界面编写:
1.用输出语句完成主界面的编写
2.用Scanner语句实现键盘的录入
3.用swich语句完成操作的选择
4.用循环完成再次回到主界面
代码实现:
while (true) {//1.用输出语句完成主界面的编写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.print("请输入你的选择:");//2.用Scanner语句实现键盘的录入Scanner sc = new Scanner(System.in);String num = sc.nextLine();//3.用swich语句完成操作的选择switch (num) {case "1"://System.out.println("添加学生");addStudent(array);break;case "2"://System.out.println("删除学生");deletestudent(array);break;case "3"://System.out.println("修改学生");updatestudent(array);break;case "4"://System.out.println("查看所有学生");findAllstudent(array);break;case "5":System.out.println("感谢使用学生管理系统");return;//System.exit(0); JVM退出//把while循环改为while(flag),在while循环前置flag=true,//在case5 这里让flag=false}
实现效果:
一、添加学生
1.定义一个方法,用于添加学生信息
2.键盘录入学生对象所需要的数据,显示提示信息,提示输入何种信息
3.创建学生对象,把键盘录入的数据赋值给学生对象的成员变量
4.将学生对象添加到集合中
5.给出提示信息"添加学生成功"
注意:在添加学生前先定义一个方法用于判断学生是否存在
代码实现:
//定义一个方法,判断添加的学生学号是否存在
public static boolean isUsed(ArrayList<student> array, String sid) {boolean flag = false;for (int i = 0; i < array.size(); i++) {student s = array.get(i);if (s.getSid().equals(sid)) { //如果输入的学生与集合中相同flag = true;break;}}return flag;
}
public static void addStudent(ArrayList<student> array) {Scanner sc = new Scanner(System.in);//为了让sid在while循环外被访问到,把它定义在循环外String sid;//为了让程序能够回到这里,我们使用循环实现while (true) {System.out.println("请输入学生学号:");// String sid = sc.nextLine();//上面定义了sid,这里不用Stringsid = sc.nextLine();boolean flag = isUsed(array, sid);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.setSid(sid);s.setName(name);s.setAge(age);s.setAddress(address);array.add(s);System.out.println("添加学生成功");}
二、查看学生
(用键盘录入选择查看所有学生信息)
1.定义一个方法,用于查看学生信息。
2.判断集合中是否有数据,如果没有显示提示信息。
3.显示表头信息。
4.将集合中数据取出按照格式显示学生信息,年龄显示补充“岁”。
5.调用方法
注意:在查看学生前也要判断学生是否存在。
代码实现:
//定义一个方法,用于查看所有学生信息
public static void findAllstudent(ArrayList<student> array) {//判断集合中是否有数据,如果没有数据显示提示信息if (array.size() == 0) {System.out.println("没有学生信息,请添加学生信息后查询");}//2.显示表头信息System.out.println("学号\t\t姓名\t年龄\t居住地");for (int i = 0; i < array.size(); i++) {student s = array.get(i);System.out.println(s.getSid() + "\t\t" + s.getName() + "\t" + s.getAge() + "岁\t" + s.getAddress());}
}
三、删除学生
1.定义一个方法,用于删除学生信息
2.键盘输入要删除学生的学号,显示提示信息
3.遍历集合将对应学生对象从集合中删除
4.给出删除成功提示信息
5.调用方法
注意:在删除学生时也要判断学生是否存在
代码实现:
//定义一个方法,用于删除学生信息
public static void deletestudent(ArrayList<student> array) {Scanner sc = new Scanner(System.in);System.out.println("请输入你要删除的学生学号");String sid = sc.nextLine();int index = -1;for (int i = 0; i < array.size(); i++) {student s = array.get(i);if (s.getSid().equals(sid)) {index = i;break;}}if (index == -1) {System.out.println("你输入的学生不存在,请重新输入");} else {array.remove(index);System.out.println("删除学生成功");}
}
四、修改学生信息
1.键盘录入要修改的学生学号,显示提示信息
2.键盘录入要修改的学生信息
3.创建学生对象
4.遍历集合修改对应的学生信息
5.给出修改成功提示
6.调用方法
注意:在修改学生时也要判断要修改的学生是否存在
代码实现:
//定义一个方法,用于修改学生信息
public static void updatestudent(ArrayList<student> array) {Scanner sc = new Scanner(System.in);System.out.println("请输入你要修改的学生的学号");String sid = sc.nextLine();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.setSid(sid);s.setName(name);s.setAge(age);s.setAddress(address);int index = -1;for (int i = 0; i < array.size(); i++) {student student = array.get(i);if (student.getSid().equals(sid)) {index = i;break;}}if (index == -1) {System.out.println("你输入的学生不存在,请重新输入");} else {array.set(index, s);System.out.println("修改学生成功");}}
最后附上完全代码:
package StudentManager;import java.util.ArrayList;
import java.util.Scanner;/*学生管理系统主界面编写:1.用输出语句完成主界面的编写2.用Scanner语句实现键盘的录入3.用swich语句完成操作的选择4.用循环完成再次回到主界面一、添加学生1.定义一个方法,用于添加学生信息2.键盘录入学生对象所需要的数据,显示提示信息,提示输入何种信息3.创建学生对象,把键盘录入的数据赋值给学生对象的成员变量4.将学生对象添加到集合中5.给出提示信息"添加学生成功"二、查看学生(用键盘录入选择查看所有学生信息)1.定义一个方法,用于查看学生信息2.判断集合中是否有数据,如果没有显示提示信息3.显示表头信息4.将集合中数据取出按照格式显示学生信息,年龄显示补充“岁”5.调用方法三、删除学生1.定义一个方法,用于删除学生信息2.键盘输入要删除学生的学号,显示提示信息3.遍历集合将对应学生对象从集合中删除4.给出删除成功提示信息5.调用方法四、修改学生信息1.键盘录入要修改的学生学号,显示提示信息2.键盘录入要修改的学生信息3.创建学生对象4.遍历集合修改对应的学生信息5.给出修改成功提示6.调用方法五、解决删除/修改学生学号不存在问题1.在删除/修改学生操作钱,对学号是否存在进行判断如果不存在,显示提示信息如果存在,执行删除/修改操作六、解决添加学生学号重复问题1.定义一个方法,对学号是否杯使用进行判断如果与集合中的学生学号相同返回true如果不相同,返回false2.在添加学生录入学号后调用该方法如果返回true,弹出提示,重新输入学号如果返回false,正常添加学生对象*/public class MyStudentManagerment {//主界面操作public static void main(String[] args) {//创建集合对象,用于存储学生数据ArrayList<student> array = new ArrayList<student>();//4.用循环完成再次回到主界面while (true) {//1.用输出语句完成主界面的编写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.print("请输入你的选择:");//2.用Scanner语句实现键盘的录入Scanner sc = new Scanner(System.in);String num = sc.nextLine();//3.用swich语句完成操作的选择switch (num) {case "1"://System.out.println("添加学生");addStudent(array);break;case "2"://System.out.println("删除学生");deletestudent(array);break;case "3"://System.out.println("修改学生");updatestudent(array);break;case "4"://System.out.println("查看所有学生");findAllstudent(array);break;case "5":System.out.println("感谢使用学生管理系统");return;//System.exit(0); JVM退出//把while循环改为while(flag),在while循环前置flag=true,//在case5 这里让flag=false}}}//定义一个方法,判断添加的学生学号是否存在public static boolean isUsed(ArrayList<student> array, String sid) {boolean flag = false;for (int i = 0; i < array.size(); i++) {student s = array.get(i);if (s.getSid().equals(sid)) { //如果输入的学生与集合中相同flag = true;break;}}return flag;}//定义一个方法,用于添加学生信息public static void addStudent(ArrayList<student> array) {Scanner sc = new Scanner(System.in);//为了让sid在while循环外被访问到,把它定义在循环外String sid;//为了让程序能够回到这里,我们使用循环实现while (true) {System.out.println("请输入学生学号:");// String sid = sc.nextLine();//上面定义了sid,这里不用Stringsid = sc.nextLine();boolean flag = isUsed(array, sid);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.setSid(sid);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("没有学生信息,请添加学生信息后查询");}//2.显示表头信息// \t(制表符) 其实就是tab键的位置System.out.println("学号\t\t姓名\t年龄\t居住地");//3.将集合中数据取出按照格式显示学生信息,年龄显示补充“岁”for (int i = 0; i < array.size(); i++) {student s = array.get(i);System.out.println(s.getSid() + "\t\t" + s.getName() + "\t" + s.getAge() + "岁\t" + s.getAddress());}}//定义一个方法,用于删除学生信息public static void deletestudent(ArrayList<student> array) {Scanner sc = new Scanner(System.in);System.out.println("请输入你要删除的学生学号");String sid = sc.nextLine();int index = -1;for (int i = 0; i < array.size(); i++) {student s = array.get(i);if (s.getSid().equals(sid)) {index = i;break;}}if (index == -1) {System.out.println("你输入的学生不存在,请重新输入");} else {array.remove(index);System.out.println("删除学生成功");}}//定义一个方法,用于修改学生信息public static void updatestudent(ArrayList<student> array) {Scanner sc = new Scanner(System.in);System.out.println("请输入你要修改的学生的学号");String sid = sc.nextLine();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.setSid(sid);s.setName(name);s.setAge(age);s.setAddress(address);int index = -1;for (int i = 0; i < array.size(); i++) {student student = array.get(i);if (student.getSid().equals(sid)) {index = i;break;}}if (index == -1) {System.out.println("你输入的学生不存在,请重新输入");} else {array.set(index, s);System.out.println("修改学生成功");}}}