用java实现学生管理系统的制作(student manager)

一、先定义一个Student类

//定义一个学生类型的类
public class Student {
	private String id;
	private String name;
	private String address;
	private int age;
	public Student() {
	}
	public Student(String id,String name,String address,int age)
	{
		this.id=id;
		this.name=name;
		this.address=address;
		this.age=age;
	}
//后续可能用到的函数。可以alt+insert自动生成,也可以通过alt+shift+s间接生成。
	
	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		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;
	}	
}

二、设置管理系统界面。

import java.util.Scanner;
import java.util.ArrayList;

public class student_manager {
	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.退出");

			System.out.println("请输入您的选择:");

			Scanner sc = new Scanner(System.in);
			String line = sc.nextLine();
			switch (line) {
			case "1":
//				System.out.println("1.添加学生");
				addStudent(array);
				break;
			case "2":
//				System.out.println("2.删除学生");
				DeleteStudent(array);
				break;
			case "3":
//				System.out.println("3.修改学生");
				ChangeStudent(array);
				break;
			case "4":
//				System.out.println("4.查看所有学生");
				LookforallStudent(array);
				break;
			case "5":
				System.out.println("谢谢使用");
				return;
			}
		}
	}

	// 添加
	public static void addStudent(ArrayList<Student> array) {

		Student s = new Student();

		Scanner sc = new Scanner(System.in);

		while (true) {
			System.out.println("请输入学生学号:");
			String s1 = sc.nextLine();
			if (solverepeat(array, s1)) {
				System.out.println("学号已经存在,请重新输入:");
			} else {
				s.setId(s1);
				break;
			}
		}

		System.out.println("请输入学生姓名:");
		String s2 = sc.nextLine();
		s.setName(s2);
		System.out.println("请输入学生居住地:");
		String s3 = sc.nextLine();
		s.setAddress(s3);
		System.out.println("请输入学生年龄:");
		int w = sc.nextInt();
		s.setAge(w);

		array.add(s);// 加入元素

		System.out.println("添加学生成功");
		return;
	}

	// 删除
	public static void DeleteStudent(ArrayList<Student> array) {
		System.out.println("请输入要删除的学生学号:");
		while (true) {	
			Scanner sc = new Scanner(System.in);
			String de = sc.nextLine();
			if (solveno(array, de)) {
				System.out.println("要删除的学生不存在,请重新输入:");
			} else {
				for (int i = 0; i < array.size(); i++) {
					Student s = array.get(i);
					if (s.getId().equals(de))
						array.remove(i);
					break;
				}
				System.out.println("删除成功!");
				break;
			}
		}
		return;
	}

	// 修改
	public static void ChangeStudent(ArrayList<Student> array) {
		Student s = new Student();
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入要修改的学生学号:");
		while (true) {
			
			String id = sc.nextLine();
			if (solveno(array, id)) {
				System.out.println("该学生不存在,请重新输入:");
			} else {
				s.setId(id);
				System.out.println("请输入要修改的学生姓名:");
				String name = sc.nextLine();
				s.setName(name);
				System.out.println("请输入要修改的学生居住地:");
				String address = sc.nextLine();
				s.setAddress(address);
				System.out.println("请输入要修改的学生年龄:");
				int age = sc.nextInt();
				s.setAge(age);

				for (int i = 0; i < array.size(); i++) {
					Student ss = array.get(i);
					if (ss.getId().equals(id)) {
						array.set(i, s);
						break;
					}
				}
				System.out.println("修改成功!");
				break;
			}
		}
		return;
	}

	// 查看
	public static void LookforallStudent(ArrayList<Student> array) {
		if (array.size() == 0) {
			System.out.println("还未输入学生,扣1输入学生");
			return;
		}
		System.out.println("学号\t\t姓名\t居住地\t年龄");
		for (int i = 0; i < array.size(); i++) {
			
			Student s = array.get(i);
			System.out.println(s.getId() + "\t\t" + s.getName() + "\t" + s.getAddress() + "\t" + s.getAge());
		}
		return;
	}

	// 解决学号不存在或者学号重复问题。在前面的添加删除修改中均会用到,属于是一个小优化。
	public static boolean solveno(ArrayList<Student> array, String id) {
		int i = 0;
		for (i = 0; i < array.size(); i++) {
			Student s = array.get(i);
			if (s.getId().equals(id)) {
				break;
			}
		}
		if (i == array.size())
			return true;
		return false;
	}

	public static boolean solverepeat(ArrayList<Student> array, Stringid) {
		int i = 0;
		for (i = 0; i < array.size(); i++) {
			Student s = array.get(i);
			if (s.getId().equals(id)) {
				break;
			}
		}
		if (i < array.size())
			return true;
		return false;
	}
}

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值