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