业务分析和搭建
需求文档:控制台的方式写学生管理系统(1.添加,2.删除,3.修改,4.查询,5.退出)
学生类:id ,name,age,address
添加功能:id唯一,键盘录入
删除功能:键盘录入删除的id ,提示存在删除成功/不存在回菜单
修改功能:键盘录入修改 id ,提示存在修改成功/不存在回菜单
查询功能:打印所有学生信息,不存在,请添加后再查询
package student;
import java.util.ArrayList;
import java.util.Scanner;
public class StudentSystem {
public static void main(String[] args) {
ArrayList<Student> list = new ArrayList<>(); // 使用集合存储数据[3](@ref)
Scanner scanner = new Scanner(System.in);
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.print("请输入您的选择:");
int choose = scanner.nextInt();
switch (choose) {
case 1:
addStudent(list);
break;
case 2:
deleteStudent(list);
break;
case 3:
updateStudent(list);
break;
case 4:
selectStudent(list);
break;
case 5:
System.out.println("系统已退出");
System.exit(0);
default:
System.out.println("无效选项,请重新输入");
}
}
}
JavaBean
package student;
public class Student {
private String name;
private int age;
private String id;
private String address;
public Student() {
}
public Student(String name, int age, String id, String address) {
this.name = name;
this.age = age;
this.id = id;
this.address = address;
}//set/get............省略
查询和添加
//1添加学生
public static void addStudent(ArrayList<Student> list){
Student stu=new Student();
Scanner sc = new Scanner(System.in);
//String id=null;
//ctrl+alt+t
while (true) {//
System.out.println("请输入id:");
String id =sc.next();
//判断id是否存在!!!
boolean flag= containsStudent(list,id);
if(flag){
System.out.println("id已经存在!");
}else {
stu.setId(id); break;}
}
System.out.println("请输入姓名:");
String name =sc.next();
stu.setName(name);
System.out.println("请输入年龄:");
int age =sc.nextInt();
stu.setAge(age);
System.out.println("请输入地址:");
String address =sc.next();
stu.setAddress(address);
list.add(stu);
System.out.println("信息添加成功!!");
}
//3查询
public static void selectStudent(ArrayList<Student> list){
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"+stu.getAge()+"\t"+stu.getAddress());
}
}
删除和修改
//2删除
public static void deleteStudent(ArrayList<Student> list){
System.out.println("2:删除学生");
Student stu=new Student();
Scanner sc = new Scanner(System.in);
while (true) {//
System.out.println("请输入id:");
String id =sc.next();
//判断id是否存在!!!
boolean flag= containsStudent(list,id);
if(flag){
int index= getIndex(list, id);
if(index!=-1) {
list.remove(index);
System.out.println("id为"+id+"的学生"+"删除成功!");
break;
}
}else {
System.out.println("id不存在");
}
}
}
//4修改
public static void updateStudent(ArrayList<Student> list){
Student stu=new Student();
Scanner sc = new Scanner(System.in);
while (true) {
System.out.println("请输入要修改的id:");
String id =sc.next();
boolean flag= containsStudent(list,id);
if(flag){
int index= getIndex(list, id);
if(index!=-1) {
stu.setId(id);
System.out.println("请输入新的姓名:") ;
String name =sc.next();
stu.setName(name);
System.out.println("请输入新年龄:");
int age =sc.nextInt();
stu.setAge(age);
System.out.println("请输入新地址:");
String address =sc.next();
stu.setAddress(address);
list.set(index,stu);
System.out.println("id为"+id+"的学生"+"修改成功!");break;
}
}
else {System.out.println("id不存在"); }
}
}
//p判断id在集合中是否存在
public static boolean containsStudent(ArrayList<Student> list,String id){
for(int i=0;i<list.size();i++){
Student stu=list.get(i);
String stuId=stu.getId();
if(stuId.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);
if(stu.getId().equals(id)){
return i;
}
}//循环结束没有找到,
return -1;
}
}
后续会更新升级版本就是+登录+验证操作,感谢至此!!!!!!!!!!!!!