首页 > 代码库 > 学籍管理系统(Java初级版)

学籍管理系统(Java初级版)

import java.util.Scanner;
/**
 * 学籍管理系统
 * @author Tanker
 * @version 4.6.0
 */
 public class XueJiSystem {
    //Java 入口
	public static void main(String[] args) {
    	Scanner sc=new Scanner(System.in); //控制台输入

		System.out.println("欢迎来到本学籍管理系统!");
		for(;;){
			System.out.println("请输入 1.添加学生信息  2.查询  3.修改姓名  4.删除  5.退出");
			int num=sc.nextInt(); //接收用户输入
			if(num==1){
				Student s=new Student();//实例化一个学生对象
				//分别给学生的属性赋值
				System.out.println("请输入学生学号:");
				s.setSid(sc.nextInt());
				System.out.println("请输入学生姓名:");
				s.setName(sc.next());
				System.out.println("请输入学生年龄:");
				s.setAge(sc.nextInt());
				System.out.println("请输入学生地址:");
				s.setAdd(sc.next());
				//调用添加方法,并把学生对象传入里面,返回是否添加成功的标示
				boolean flag=StudentOperator.addStudent(s);
				//根据标示,判断是否添加成功
				if(flag){
					System.out.println("添加成功!");
				}else{
					System.out.println("添加失败!");
				}	
			}
			else if(num==2){
				System.out.println("请输入学生学号:");
				int sid=sc.nextInt();
				//根据输入学号查询学生信息
				Student s=StudentOperator.selectStudent(sid+"");
				if(s==null){
					System.out.println("该学生信息不存在!");
				}else{
					System.out.println(s.toString());////toString 是默认的一个方法
				}	
			}
			else if(num==3){
				System.out.println("请输入要修改姓名的学生学号:");
				int sid=sc.nextInt();
				//根据输入的学生ID。查询学生信息
				Student s=StudentOperator.selectStudent(sid+"");
				//如果学生信息存在
				if(s!=null){
					System.out.println("请设置新的姓名:");
					String newName=sc.next();
					//调用方法,并把学号、学生姓名、修改后的姓名传入里面,返回是否添加成功的标示
					boolean flag=StudentOperator.updateStudent(sid,s.getName(),newName);
					//判断修改是否成功
					if(flag){
						System.out.println("修改成功!");
					}else{
						System.out.println("修改失败!");
					}
				//如果学生信息不存在	
				}else{
					System.out.println("该学生信息不存在!请添加");
					
				}
			}
			else if(num==4){
				System.out.println("请输入要删除的学生学号:");
				int sid=sc.nextInt();
				//根据输入的学生ID。查询学生信息
				Student s=StudentOperator.selectStudent(sid+"");
				if(s!=null){
					//找到学生信息之后将学号传入删除方法并返回是否删除成功的标示
					boolean flag=StudentOperator.deleteStudent(sid);
					//判断是否删除成功
					if(flag){
						System.out.println("删除成功!");
					}else{
						System.out.println("删除失败!");
					}
				}else{
					System.out.println("该学生信息不存在!");
				}
			}
			else if(num==5){
				System.out.println("系统已退出!");
				break;
			}else{
				System.out.println("输入有误!请重输");
			}
	
		}
			
	
        }
}


//学生类
public class Student {

	private int sid;// 学号
	private String name;// 姓名
	private int age;// 年龄
	private String add;// 家庭住址
	
	public int getSid() {
		return sid;
	}

	public void setSid(int sid) {
		this.sid = sid;
	}

	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;
	}

	public String getAdd() {
		return add;
	}

	public void setAdd(String add) {
		this.add = add;
	}

//显示查询结果 每个类都有toString方法
	@Override
	public String toString() {
		return "Student [sid=" + sid + ", name=" + name + ", age=" + age + ", add=" + add + "]";
	}

}


//控制类,围绕数组展开增删改查四大方法
public class StudentOperator {

	static Student stu[]=new Student[10];//用于存放学生对象

//	查询方法
	public static Student selectStudent(String sid){
		Student s=null;//定义一个学生类的变量s 定义为空
		//遍历数组
		for(int i=0;i<stu.length;i++){
			//当数组元素不为空时
			if(stu[i]!=null){
				//判断该元素的sid跟外部传入的sid是否相等
				if(stu[i].getSid()==Integer.parseInt(sid)){
					s=stu[i];//如果相等就把该元素赋值给s
				}
			}
		}
		return s;//返回学生类s
	
	}
	
//	添加学生信息
	public static boolean addStudent(Student s){
		//定义一个int类型的变量index,赋值为-1,用于标记数组下标
		int index=-1;
		//遍历数组,给要添加的学生找个空位
		for(int i=1;i<stu.length;i++){
			if(stu[i]==null){
				index=i;//有空位就将下标赋值给index,并停止循环
				break;
			}
		}
		//通过index下标的值判断添加情况
		if(index==-1){
			return false; //位置满了添加失败
		}else{
			stu[index]=s; //将对象学生存入数组
			return true;  //添加成功
		}	
	}
	
//	删除
	public static boolean deleteStudent(int sid){
		//定义一个布尔类型的变量flag 初始化为false
		boolean flag=false;
		//遍历数组
		for(int i=0;i<stu.length;i++){
			//当数组不为空时
			if(stu[i]!=null){
				//根据外部传入的sid判断数组中是否存在
				if(stu[i].getSid()==sid){
					stu[i]=null;//存在的话将数组元素清空(赋值为空)
					flag=true;//flag变更为true,同时终止循环
					break;
				}
			}
		}
		return flag; //返回布尔值flag
	}
	
//	修改信息
	public static boolean updateStudent(int sid,String field,String newValue){
		//定义一个布尔类型的变量flag 初始化为false
		boolean flag=false;
		//遍历数组
		for(int i=0;i<stu.length;i++){
			//当数组不为空时
			if(stu[i]!=null){
				//根据外部传入的sid判断数组中是否存在
				if(stu[i].getSid()==sid){
					stu[i].setName(newValue);//存在的话将数组元素的name设置为新的值
					flag=true;//flag变更为true,同时终止循环
					break;
				}
			}
		}
		return flag;//返回布尔值flag
	}
	
}


学籍管理系统(Java初级版)