您的位置:首页 > 其它

案例:学生管理系统!该系统主要功能如下: 添加学生:通过键盘录入学生信息,添加到集合中 删除学生:通过键盘录入要删除学生的学号,将该学生对象从集合中删除 修改学生:

2019-07-11 18:29 741 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/qq_36450650/article/details/95502866

java:学生管理系统!该系统主要功能如下:

添加学生:通过键盘录入学生信息,添加到集合中

删除学生:通过键盘录入要删除学生的学号,将该学生对象从集合中删除

修改学生:通过键盘录入要修改学生的学号,将该学生对象其他信息进行修改

查看学生:将集合中的学生对象信息进行展示 退出系统:结束程序

对象实例化

public class Student {
private Integer id;
private Integer age;
private String name;
private String address;

public Integer getId() {
return id;
}

public void setId(Integer id) {
this.id = id;
}

public Integer getAge() {
return age;
}

public void setAge(Integer age) {
this.age = age;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getAddress() {
return address;
}

public void setAddress(String address) {
this.address = address;
}

public static void addStu() {
}

public static void delStu() {
}

public static void updateStu() {
}

public static void queryStu() {
}

具体功能实现主要代码

//菜单界面
public static void main(String[] args) {
ArrayList<Student> list = new ArrayList<Student>();
int id = 0;
while (true) {
System.out.println("========欢迎使用学生管理系统========");
System.out.println("1.添加学生");
System.out.println("2.删除学生");
System.out.println("3.修改学生");
System.out.println("4.查询所有学生");
System.out.println("0.退出");
System.out.println("===================================");
System.out.println("输入功能对应的编号:");
Scanner sc = new Scanner(System.in);//创建对象
int num = sc.nextInt();
//判断功能对应的编号然后执行满足条件里面的方法
if (num == 1) {
addStu(list);//添加学生信息,带参数集合list
} else if (num == 2) {
delStudent(list);//删除学生信息,带参数集合list
} else if (num == 3) {
updateStu(list);//修改学生信息,带参数集合list
} else if (num == 4) {
queryStu(list);//查询所有学生信息,仍带参数
} else if (id == 0) {
System.out.println("谢谢使用!");
break;//等于0,退出循环结束应用程序
} else {
continue;
}
}
}

//添加学生信息
public static void addStu(ArrayList<Student> list) {
Scanner sc = new Scanner(System.in);//创建对象
int id = 0;//创建变量
while (true) {
System.out.println("请输入学生学号:");
id = sc.nextInt();
boolean b = judge(list, id);//调用判断方法,判断学号的重复或者存在。返回结果类型true或者false
if (b) {
System.out.println("学号已存在!请重新输入:");
} else {
//不重复跳出循环,开始记录添加信息
break;
}
}

list.add(insertStu(id));//调用insertStu方法将student这个对象里面的值存入集合list
System.out.println("添加成功!");
}

//删除学生信息
public static void delStudent(ArrayList<Student> list) {
Scanner sc = new Scanner(System.in);//创建对象
System.out.println("输入要删除学生的学号:");
int id = sc.nextInt();
for (int i = 0; i < list.size(); i++) {
Student student = list.get(i);//创建对象里面的值,对应get里面索引的数
if (student.getId().equals(id)) {//如果id值等于输入的id值
list.remove(i);//删除索引对应元素的值
System.out.println("删除成功!");
} else {
System.out.println("没有此学号");
}
}
}

//查询学生信息
public static void queryStu(ArrayList<Student> list) {
//循环遍历打印所有值
System.out.println("学号\t姓名\t年龄\t地址");
for (int i = 0; i < list.size(); i++) {
Student student = list.get(i);
System.out.println(" " + student.getId() + "\t\t" + student.getName() + "\t\t" + student.getAge() + "\t\t" + student.getAddress());
}
}

//更新学生信息
public static void updateStu(ArrayList<Student> list) {
Scanner sc = new Scanner(System.in);//创建对象
System.out.println("输入要修改学生的学号:");
//输入要修改学生的信息
int id = sc.nextInt();

7ff7
//for循环主要是遍历查询id也就是学生学号
for (int i = 0; i < list.size(); i++) {
Student s = list.get(i);
//判断要修改学生的学号是否存在
if (s.getId().equals(id)) {
//存在执行这一步
while (true) {
System.out.println("请输入学生学号:");
id = sc.nextInt();
//调用judge方法判断修改后的学号是否是已录入的学号
if (judge(list, id)) {
//如果修改后的学号已被使用就打印学号已被使用
System.out.println("学号已被使用");
} else {
//如果修改后的学号没有被使用,就调用insertStu方法并存入数组
list.set(i, insertStu(id));//集合自带set方法可修改对应的索引里面的元素,我这里是封装到对象里面遍历修改
System.out.println("修改成功");
break;
}
}
}else {
System.out.println("没有此学号");
}
}

}

//判断学号已经被使用,或是重复存在
public static boolean judge(ArrayList<Student> list, int id) {
boolean b = false;
for (int i = 0; i < list.size(); i++) {
Student s = list.get(i);
if (s.getId().equals(id)) {
//如果输入的id等于集合里面的id,将b赋值,结束循环
b = true;
break;
}

}
return b;//返回布尔类型的b
}

//录入信息的功能
public static Student insertStu(int id) {
//创建Scanner对象
Scanner sc = new Scanner(System.in);
System.out.println("请输入学生姓名:");
String name = sc.next();
System.out.println("请输入学生年龄:");
int age = sc.nextInt();
System.out.println("请输入学生地址:");
String address = sc.next();
Student student = new Student();//创建对象
student.setId(id);//调用Student类里面的set方法,存值
student.setName(name);//调用Student类里面的set方法,存值
student.setAge(age);//调用Student类里面的set方法,存值
student.setAddress(address);//调用Student类里面的set方法,存值
//返回值类型是Student对象类,上述方法创建对象student,就返回对象student
return student;
}




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐