题目如下:
学校中对于学生的管理越来越重要,现开发一个学生管理系统,要求实现如下功能:
登录功能
添加学生信息
查询学生信息
1、查询所有学生信息
2、查询单个学生信息
删除学生信息
修改学生信息
退出系统
如果用户输入的用户名和密码为admin和m123,则可以进入主菜单,否则提示用户用户名或密码错误,并要求重新输入
当用户进入主菜单之后,显示主菜单功能列表
1、添加学生信息:从控制台输入新增学生的信息,添加成功后给出相应提示。
2、查询学生信息:如果用户选择查看所有学生信息,则显示所有学生信息,如果选择查询单个学生信息,则提示用户输入查询的学生的学号进行查询并显示。如果没有这个学号的学生,给出相应提示。
3、删除学生信息:输入学生学号,删除学生信息,并给出相应提示,如果没有该学生信息,给出相应提示
4、修改学生信息:输入学生学号,然后进行修改,修改成功或失败给出相应提示。
退出系统:退出系统并给出相应提示。
根据用户输入的选项执行不同的功能
使用集合存储学生信息
程序运行时就初始化2条学生信息
一个操作完成后回到主菜单,重新选择下一个操作。
第一步:分析该题目需要创建的类:看题目第一行,要求是对学生进行管理操作
学生是对象,因此需要建一个学生类,学生没有多余的方法。
管理工作又分为:添加,查询,删除,修改,退出等操作,这些操作都是动词,
因此应该写成方法,而谁来进行这些操作了,实际生活中应该是老师来进行,或者说是管理员来进行这些操作,因此需要建立一个管理员类,类里面应该包含添加,查询,删除,修改等方法。这些方法操作的对象都是学生,而且是很多学生,因此需要创建一个学生集合。
最后需要一个测试类,来运行程序
一,学生类:
package Student;
/**
* @author Administrator
* @Title: Student
* @ProjectName maven
* @Description: 学生类
* @date 2019/8/30 10:47
*/
public class Student {
//学生的属性:名字,id
private int id;
private String name;
//构造方法
public Student() {
}
public Student(int id, String name) {
this.id = id;
this.name = name;
}
//set,get方法
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return id+name;
}
}
二.管理类:
package Student;
import java.util.ArrayList;
import java.util.List;
/**
* @author Administrator
* @Title: StudentManage
* @ProjectName maven
* @Description:
* @date 2019/8/30 10:51
*/
public class StudentManage {
List<Student> list = new ArrayList<Student>();
public StudentManage() {
list.add(new Student(2013, "张三"));
list.add(new Student(2014, "李四"));
}
//登录方法
public boolean login(String username, String password) {
if (username.equals("admin") && password.equals("m123")) {
return true;
} else {
System.out.println("输入错误");
return false;
}
}
//添加方法
public void add(Student student) {
list.add(student);
System.out.println("添加成功");
}
//查询方法
public void find(int... args) {
//查询所有学生
//使用增强循环
if (args.length == 0) {
for (Student student : list) {
System.out.println(student);//思想输出对象的时候,是怎么样子的
}
} else {
int id = args[0];
for (Student student : list) {
if (id == student.getId()) {
System.out.println(student);
}
}
System.out.println("没有这个学号");
}
}
//删除方法
public void delate(int id) {
for (Student student : list) {
if (student.getId() == id) {
list.remove(student);
System.out.println("删除成功");
return;
//是否要写return,要写return,是方法结束,否则,会打印没有这个id
}
}
System.out.println("没有找到这个id");
}
//修改学生信息
public void update(int id, String newname) {
for (Student student : list) {
if (student.getId() == id) {
student.setName(newname);
return;
}
}
System.out.println("没有这个id");
}
}
三.测试类:行数不够了,见学生管理系统(下)