赞
踩
初始菜单
学生类
属性:id、姓名、年龄、家庭住址
添加功能
键盘录入每个学生并添加
删除功能
键盘录入要删除的学生id,id存在则删除,id不存在,需提示不存在,并返回初始菜单
修改功能
键盘录入要修改的学生id,id存在则修改,id不存在,需提示不存在,并返回初始菜单
查询功能
打印所有学生信息,如果没有学生信息,则提示当前无学生信息,请添加后查询,如果有学生信息,则输出
学生类代码实现
package com.edu.bbc.computer; public class Student { //学生id、学生姓名name、学生姓名age、学生地址address 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; } }
添加学生
//添加学生 public static void addStudent(ArrayList<Student> list){ //利用空参构造学生对象 Student s = new Student(); Scanner sc = new Scanner(System.in); String id = null; while (true) { System.out.println("请输入学生的id"); id = sc.next(); boolean flag = contains(list,id); if(flag){ //表示id已经存在 System.out.println("id已存在,请重新输入"); }else{ //表示id不存在,可以继续使用 s.setId(id); break; } } System.out.println("请输入学生的姓名"); String name = sc.next(); s.setName(name); System.out.println("请输入学生的年龄"); int age = sc.nextInt(); s.setAge(age); System.out.println("请输入学生的家庭住址"); String address = sc.next(); s.setAddress(address); //把学生对象添加到集合中 list.add(s); //提示用户 System.out.println("学生信息添加成功"); }
删除学生
//删除学生 public static void deleteStudent(ArrayList<Student> list){ Scanner sc = new Scanner(System.in); System.out.println("请输入需要删除的学生id"); String id = sc.next(); int index = getIndex(list,id); if(index >= 0){ //表示id存在,直接删除 list.remove(index); System.out.println("id为:"+ id + "的学生删除成功"); }else{ System.out.println("id不存在,删除失败"); } }
修改学生
//修改学生 public static void updateStudent(ArrayList<Student> list){ Scanner sc = new Scanner(System.in); System.out.println("请输入需要修改的学生id"); String id = sc.next(); int index = getIndex(list,id); if(index == -1){ System.out.println("要修改的学生id" + 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("学生信息已经修改成功"); }
查询学生
//查询学生 public static void queryStudent(ArrayList<Student> list){ if(list.size() == 0){ System.out.println("当前无学生信息,请添加后查询"); return; } //打印表头信息 System.out.println("id 姓名 年龄 住址"); //如果集合中有数据 for (int i = 0; i < list.size(); i++) { Student stu = list.get(i);//得到学生对象 System.out.println(stu.getId() + "\t" + stu.getName() + "\t" + stu.getAge() + "\t" + stu.getAddress()); } }
完整代码
package com.edu.bbc.computer; import java.sql.SQLOutput; import java.util.ArrayList; import java.util.Scanner; public class StudentSystem { public static void main(String[] args) { //创建一个集合,存储信息 ArrayList<Student> list = new ArrayList<>(); //欢迎界面 loop: while (true) {//loop标记,按5即可以退出 System.out.println("--------------欢迎来到学生管理系统----------------"); System.out.println("1:添加学生"); System.out.println("2:删除学生"); System.out.println("3:修改学生"); System.out.println("4:查询学生"); System.out.println("5:退出"); Scanner sc = new Scanner(System.in); System.out.println("请输入您的选择:"); String chose = sc.next(); switch (chose) { 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; //System.exit(0);停止虚拟机运行 default: System.out.println("没有这个选项"); } } } //添加学生 public static void addStudent(ArrayList<Student> list){ //利用空参构造学生对象 Student s = new Student(); Scanner sc = new Scanner(System.in); String id = null; while (true) { System.out.println("请输入学生的id"); id = sc.next(); boolean flag = contains(list,id); if(flag){ //表示id已经存在 System.out.println("id已存在,请重新输入"); }else{ //表示id不存在,可以继续使用 s.setId(id); break; } } System.out.println("请输入学生的姓名"); String name = sc.next(); s.setName(name); System.out.println("请输入学生的年龄"); int age = sc.nextInt(); s.setAge(age); System.out.println("请输入学生的家庭住址"); String address = sc.next(); s.setAddress(address); //把学生对象添加到集合中 list.add(s); //提示用户 System.out.println("学生信息添加成功"); } //删除学生 public static void deleteStudent(ArrayList<Student> list){ Scanner sc = new Scanner(System.in); System.out.println("请输入需要删除的学生id"); String id = sc.next(); int index = getIndex(list,id); if(index >= 0){ //表示id存在,直接删除 list.remove(index); System.out.println("id为:"+ id + "的学生删除成功"); }else{ System.out.println("id不存在,删除失败"); } } //修改学生 public static void updateStudent(ArrayList<Student> list){ Scanner sc = new Scanner(System.in); System.out.println("请输入需要修改的学生id"); String id = sc.next(); int index = getIndex(list,id); if(index == -1){ System.out.println("要修改的学生id" + 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("学生信息已经修改成功"); } //查询学生 public static void queryStudent(ArrayList<Student> list){ if(list.size() == 0){ System.out.println("当前无学生信息,请添加后查询"); return; } //打印表头信息 System.out.println("id 姓名 年龄 住址"); //如果集合中有数据 for (int i = 0; i < list.size(); i++) { Student stu = list.get(i);//得到学生对象 System.out.println(stu.getId() + "\t" + stu.getName() + "\t" + stu.getAge() + "\t" + stu.getAddress()); } } //判断id在集合中是否存在 public static boolean contains(ArrayList<Student> list, String id){ //循环遍历集合,得到每个学生对象 for (int i = 0; i < list.size(); i++) { Student stu = list.get(i);//获取每个学生对象 String sid = stu.getId(); if(sid.equals(id)){ return true; } } return false; } //通过id获取索引的方法 public static int getIndex(ArrayList<Student> list, String id){ for (int i = 0; i < list.size(); i++) { Student stu = list.get(i);//获取每个学生对象 String sid = stu.getId();//获取每个学生对象的id if(sid.equals(id)){//拿集合中的学生id和要删除的学生Id进行比较 return i; } } return -1; } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。