Java实现一个基础的学生管理系统

课后,抱着巩固基础的目的,用Java写了一个简单的在控制台输出 的学生管理系统,实现了基本的几个功能,包括查看全部,查找,增加,修改,删除,退出

代码如下:

package my_project;
import java.util.*;

//学生基本信息
class stu_den{
	//普通数组
	private String name[] = null;              		
	private String age[] = null;								
	private String stu_num[] = null;
	//List数组
	private ArrayList<String> name_l;
	private ArrayList<String>age_l;
	private ArrayList<String>stu_num_l;	
	stu_den(){
		//普通数组
		name = new String[]{"张三", "李四", "王五", "赵六"};
		age = new String[]{"18", "19", "19", "20"};
		stu_num = new String[]{"20182629", "20181890", "20183630", "20181234"};
		//将普通数组转化为List类型数组
		name_l = new ArrayList<String>(Arrays.asList(name));
		age_l = new ArrayList<String>(Arrays.asList(age));
		stu_num_l = new ArrayList<String>(Arrays.asList(stu_num));
	}

	public List getName(){
		return name_l;
	}
	public List getAge(){
		return age_l;
	}
	public List getNum(){
		return stu_num_l;
	} 
}


//学生管理系统
class manage{
	stu_den sd = new stu_den();
	Scanner s = new Scanner(System.in);
	manage(){
		System.out.println("1. 查看现有系统的所有学生信息");
		System.out.println("2. 查找学生");
		System.out.println("3. 增加学生信息");
		System.out.println("4. 修改学生的信息");
		System.out.println("5. 删除学生的信息");
		System.out.println("0. 退出");
	}

	//将信息格式化输出
	public void format(){
		System.out.printf("%s %15s %15s\n", "姓名", "年龄", "学号");
		for(int i=0; i<sd.getName().size(); i++){
			System.out.printf("%s %15s %15s\n", sd.getName().get(i), sd.getAge().get(i), sd.getNum().get(i));
		}
	}

	//实现主要逻辑
	public void main(int n){
		switch(n){
			case 1:
				all();
				break;
			case 2:
				show();
				break;
			case 3:
				add();
				break;
			case 4:
				alter();
				break;
			case 5:
				remove();
				break;
			case 0:
				exit();
				break;
		}
	}

	//实现功能1
	public void all(){
		 format();
	}

	//实现功能2
	public void show(){
		boolean bl = true;
		System.out.print("请输入要查找的学生:");
		String stu = s.next();
		for(int i=0; i<sd.getName().size(); i++){
			if(stu.equals(sd.getName().get(i))){
				System.out.printf("%s %15s %15s\n", "姓名", "年龄", "学号");
				System.out.printf("%s %15s %15s\n",sd.getName().get(i), sd.getAge().get(i), sd.getNum().get(i));
				bl = false;
				break;
			}
		}
		if(bl) {
			System.out.println("查无此人");
		}
	}

	//实现功能3
	public void add(){
		String add_name;
		String add_age;
		String add_Num;
		System.out.print("姓名:");
		add_name = s.next();
		System.out.print("年龄:");
		add_age = s.next();
		System.out.print("学号:");
		add_Num = s.next();
		sd.getName().add(add_name);
		sd.getAge().add(add_age);
		sd.getNum().add(add_Num);
		System.out.println("添加成功");
	}

	//实现功能4
	public void alter(){
		System.out.print("请输入要修改的学生名字:");
		String alter_stu = s.next();
		for(int i=0; i<sd.getName().size(); i++){
			if(alter_stu.equals(sd.getName().get(i))){
				System.out.print("更改后的姓名(输入0则不更改):");
				String alter_name = s.next();
				System.out.print("更改后的年龄(输入0则不更改):");
				String alter_age = s.next();
				System.out.print("更改后的学号(输入0则不更改):");
				String alter_num = s.next();
				if(alter_name.equals("0")){
				}else{
					sd.getName().set(i, alter_name);
				}
				if(alter_age.equals("0")){
				}else{
					sd.getAge().set(i, alter_age);
				}
				if(alter_num.equals("0")){
				}else{
					sd.getNum().set(i, alter_num);
				}
			}
		}
	}

	//实现功能5
	public void remove(){
		System.out.print("要删除的姓名:");
		String re_name = s.next();
		for(int i=0; i<sd.getName().size(); i++){
			if(re_name.equals(sd.getName().get(i))){
				sd.getName().remove(i);
				sd.getAge().remove(i);
				sd.getNum().remove(i);
			}
		}
	}

	//实现功能0
	public void exit(){
		System.out.println("已退出");
		System.exit(0);
	}
}


public class student{
	public static void main(String[] args) {
		manage mg = new manage();
		stu_den sd = new stu_den();
		Scanner sc = new Scanner(System.in);
		while(true){
			System.out.print("请进行操作(0-5):");
			int n = sc.nextInt();
			mg.main(n);
		}
	}
}

后续会加上图形化界面后的学生管理系统…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值