控制台版学生管理系统

控制台系统作为java初学者的项目十分合适,只用到简单的集合以及常用的控制语句就可以实现,首先,我们需要先分析一个学生管理系统需要包含什么功能。
作为一个学生管理系统功能也就是增删改查四项基本功能,以及一个退出系统的功能便可以完成该系统。

  1. 查看学生信息
  2. 添加学生信息
  3. 删除学生信息
  4. 修改学生信息
  5. 退出

根据以上分析首先我们需要创建一个标准的学生类,一个标准的学生类应该包含变量声明,有参构造方法、无参构造方法、以及get set方法。

public class Student {
		private String id;
		private String name;
		private String arg;
		private String address;
		
		
		
		public Student() {
			
		}



		public Student(String id, String name, String arg, String address) {
			this.id = id;
			this.name = name;
			this.arg = arg;
			this.address = address;
		}

get和set方法自动生成便可以。
学生类创建完毕,我们需要建造一个包含这五种功能的类,首先我们要先完成主界面的代码编写,主界面只需要有这五种选项便可以,运用switch通过判断键盘录入的信息来进行相应功能的编写。

	public static void main(String[] args) {

		ArrayList<Student> array = new ArrayList<Student>();

		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.输入你的选择---------");
			Scanner input = new Scanner(System.in);
			int a = input.nextInt();
			switch (a) {
			case 1:
				findAllStudent(array);
				break;
			case 2:
				addStudent(array);
				break;
			case 3:
				deleteStudent(array);
				break;
			case 4:
				updateStudent(array);
				break;
			case 5:
			default:
				System.out.println("谢谢你的使用");
				System.exit(0);
				break;
			}
		}

	}

while (true)的作用就是无论选择什么选项最后都会回到主界面选择。
System.exit(0);这句代码的含义为jvm停止运行,也就是java虚拟机停止运行,一般都用这句代码作为程序结束。
接下来介绍四种方法的实现
1.查看学生信息

public static void findAllStudent(ArrayList<Student> array) {
		// TODO Auto-generated method stub
		if (array.size() == 0) {
			System.out.println("对不起,没有学生信息");
			System.out.println("请重新选择");
			return;
		}
		System.out.println("学号\t姓名\t年龄\t居住地");
		for (int x = 0; x < array.size(); x++) {
			Student s = array.get(x);
			System.out.println(s.getId() + "\t" + s.getName() + "\t"
					+ s.getArg() + "\t" + s.getAddress());
		}
	}

2.添加学生信息

public static void addStudent(ArrayList<Student> array) {
		// TODO Auto-generated method stub
		Scanner input = new Scanner(System.in);
		String id;
		while(true){
		System.out.println("请输入你的学号");
		id = input.nextLine();
		// 判断ID是否重复;
		boolean flag = false;
		
		// 遍历集合信息
		for (int x = 0; x < array.size(); x++) {
			Student st = array.get(x);
			// 取得该学生id与数组中id进行对比
			if (st.getId().equals(id)) {
				flag = true;
				break;

			}

		}
		if (flag) {
			System.out.println("对不起,学号被占用");
		}else{
			break;
		}
		}
			System.out.println("请输入你的姓名");
			String name = input.nextLine();
			System.out.println("请输入你的年龄");
			String arg = input.nextLine();
			System.out.println("请输入你的地址");
			String address = input.nextLine();

			Student s = new Student();
			s.setId(id);
			s.setName(name);
			s.setArg(arg);
			s.setAddress(address);
			array.add(s);
			System.out.println("添加成功");
		
		

	}

因为这是控制台系统没有DB所以便没有主键,但是为了完成这个系统功能的实现,我们需要把学号设置为唯一,这样便可以通过学号来进行删除以及修改学生信息功能,这样也比较符合实际。
所有代码在前面进行了一个id是否重复的判断,注意!这里的while(true)不是跳转到主界面选择的界面了,而是如果你i输入的id重复,跳转到你输入id的界面。
3.删除学生信息
public static void deleteStudent(ArrayList array) {
// TODO Auto-generated method stub
System.out.println(“请输入你想删除学生的学号”);
Scanner input = new Scanner(System.in);
String id = input.nextLine();
int index = -1;
for (int i = 0; i < array.size(); i++) {
Student s = array.get(i);
if(s.getId().equals(id)){
index = i;
}
if(index == -1){
System.out.println(“对不起,没有你想删除的学生”);
}else{
array.remove(i);
System.out.println(“删除成功”);
}
}

}

删除学生便是通过比较键盘上录入的id与集合中是否有相同的id来判断删除哪条学生信息,这里需要考虑的是比如你添加的学生id为111而键盘上输入的id为222这时候你便要输出提示信息,我这里是通过定义一个索引来实现。
4.修改学生信息

public static void updateStudent(ArrayList<Student> array) {

		// TODO Auto-generated method stub
		Scanner input = new Scanner(System.in);
		System.out.println("请输入你要修改的学号");
		String id = input.nextLine();
		
		int index = -1;
		
		//变量集合
		for (int i = 0; i < array.size(); i++) {
			//获取所有学生对象
			Student s = array.get(i);
			if(s.getId().equals(id)){
				index = i;
				break;
			}
		}
		if(index == -1){
			System.out.println("不好意思,你要修改的学生信息不存在");
		}else{
			System.out.println("请输入学生姓名");
			String name = input.nextLine();
			System.out.println("请输入学生年龄");
			String arg = input.nextLine();
			System.out.println("请输入学生地址");
			String address = input.nextLine();
			
			//创建学生对象
			Student s = new Student();
			s.setId(id);
			s.setId(name);
			s.setArg(arg);
			s.setAddress(address);
			
			//修改集合中的学生对象
			array.set(index, s);
			
			System.out.println("修改学生成功");
		}
	}

修改学生信息主要是进行了一个数组的置换功能 :
array.set(oldList,newList);
控制台系统比较简单,适合java初学者来进行练习。

猜你喜欢

转载自blog.csdn.net/weixin_43214660/article/details/84978924