Java 学生管理系统(黑马程序员)

步骤1:分析项目,b站链接:业务分析并搭建主菜单

步骤2:建StudentSystem包。

步骤3:编写StudentSystem和Student类。

代码:

StudentSystem类:

package StudentSystem;
import java.util.*;public class StudentSystem {public static void main(String[] args) {ArrayList list = new ArrayList<>();//打印菜单loop: 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 choose = sc.next();switch (choose){case "1" : { addStudent(list); break;}case "2" : { deleteStudent(list); break;}case "3" : { updateStudent(list); break;}case "4" : { queryStudent(list); break;}case "5" : {System.out.println("退出");break loop;}default : System.out.println("没有这个选项");break;}}}//增public static void addStudent(ArrayList list){System.out.println("添加学生");Scanner sc = new Scanner(System.in);String id = null;while (true) {System.out.println("请输入学生id");id = sc.next();boolean flag = contains(list, id);//true表示id已经存在if(flag) System.out.println("id已经存在,请重新输入");else break;}System.out.println("请输入学生姓名");String name = sc.next();System.out.println("请输入学生年龄");int age = sc.nextInt();System.out.println("请输入学生家庭住址");String address = sc.next();Student stu = new Student(id, name, age, address);list.add(stu);System.out.println("添加成功");}//删public static void deleteStudent(ArrayList list){System.out.println("删除学生");System.out.println("请输入要删除的id");Scanner sc = new Scanner(System.in);String id = sc.next();//id合法。删除if(getIndex(list, id) >= 0){list.remove(getIndex(list, id));System.out.println("id为" + id +"的学生删除成功");}//否则返回初始菜单else System.out.println("id不存在,删除失败");}//改public static void updateStudent(ArrayList list){System.out.println("修改学生");Scanner sc = new Scanner(System.in);System.out.println("请输入需要修改的学生id");String id = sc.next();//获取id在list的下标int index = getIndex(list, id);//判断id是否合法,if(index < 0) {System.out.println("id不存在,修改失败");return;}//获取修改对象Student stu = list.get(index);System.out.println("请输入学生姓名");String newName = sc.next();stu.setName(newName);System.out.println("请输入学生年龄");int newAge = sc.nextInt();stu.setAge(newAge);System.out.println("请输入学生家庭住址");String newAddress = sc.next();stu.setAddress(newAddress);System.out.println("id为" +id+ "的学生信息修改成功");}//查public static void queryStudent(ArrayList list){System.out.println("查询学生");if(list.size() == 0) {System.out.println("当前无学生信息,请添加后再查询");return;}System.out.println("id\t姓名\t\t年龄\t\t家庭住址");  // \t制表符for (int i = 0; i < list.size(); i++) {Student stu = list.get(i);System.out.println(stu.getId() +"\t"+ stu.getName() +"\t\t"+ stu.getAge() +"\t\t"+ stu.getAddress());}}//判断id是否唯一public static boolean contains(ArrayList list, String id){/*for (int i = 0; i < list.size(); i++) {Student stu = list.get(i);if(stu.getId().equals(id)) return true;}return false;*/return getIndex(list,id) >= 0; //true表示id已经存在}//查询id下标public static int getIndex(ArrayList list, String id){for (int i = 0; i < list.size(); i++) {Student stu = list.get(i);//找到下标就返回if(stu.getId().equals(id)) return i;}return -1;}
}

Student类:

package StudentSystem;public class Student {private String id;private String name;private int age;private String address; // 家庭住址public Student() { //空参构造}public Student(String id, String name, int 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 int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}
}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部