java学生管理系统

import java.util.*;
public class Test2{
    static Student[] data ={
            new Student("张三",20,'男',59),
            new Student("李四",22,'男',83),
            new Student("王五",21,'女',31),
            new Student("赵六",29,'女',99),
            new Student("韩七",25,'女',63)
    };
    static	Scanner sc= new Scanner(System.in);
    public static void main(String[] args){
        while(true){
            System.out.println("A:按分数升序排序");
            System.out.println("B:按分数降序排序");
            System.out.println("C:添加学生信息");
            System.out.println("D:删除学生信息");
            System.out.println("E:修改学生信息");
            System.out.println("F:结束所有操作");

            String str=sc.next();

            if(str.equals("A")){
                //升序排序
                chooseA();

            }else if(str.equals("B")){
                //降序排序
                chooseB();
                showAll();
            }else if(str.equals("C")){
                //添加学生信息
                chooseC();
                showAll();

            }else if(str.equals("D")){
                //删除学生信息
                chooseD();

            }else if(str.equals("E")){
                //修改学生信息
                chooseE();
            }else if(str.equals("F")){
                //结束所有操作
                break;
            }
        }

    }


    public static void chooseA(){

        //升序排序
        for(int i=0;i<data.length-1;i++){
            for(int j=0;j<data.length-1;j++){
                if(data[j].getScore()>data[j+1].getScore()){
                    Student g;
                    g=data[j];
                    data[j]=data[j+1];
                    data[j+1]=g;
                }
            }
        }
        showAll();
    }



    public static void chooseB(){
        //降序排序
        for(int i=0;i<data.length-1;i++){
            for(int j=0;j<data.length-1;j++){
                if(data[j].getScore()<data[j+1].getScore()){
                    Student g;
                    g=data[j];
                    data[j]=data[j+1];
                    data[j+1]=g;
                }
            }
        }
    }



    public static int showAll(){
        //打印
        System.out.println("编码	姓名		年龄		性别		分数");
        int id=0;
        for(Student x:data){
            System.out.println(id++ +"	"+x.getName()+"		"+x.getAge()+"		"+x.getGender()+"		"+x.getScore());
        }
        return id-1;
    }




    public static void chooseC(){
        System.out.println("请输入学生姓名:");
        String name=sc.next();
        System.out.println("请输入学生年龄:");
        int age = sc.nextInt();
        char sex='a';
        boolean a=true;
        while(a){
            System.out.println("请输入学生性别[A:男  B:女]:");
            String AorB=sc.next();
            if(AorB.equals("A")){
                sex='男';
                a=false;
            }else if(AorB.equals("B")){
                sex='女';
                a=false;
            }else {
                System.out.println("性别添加失败,请重新添加");
            }
        }
        System.out.println("请输入学生分数:");
        int score=sc.nextInt();

        Student stu=new Student(name,age,sex,score);

        if(isHaving(stu)){
            System.out.println("添加失败");
        }else{
            data=Arrays.copyOf(data,data.length+1);
            data[data.length-1]=stu;
            System.out.println("添加成功");
        }
		/*int count=0;
		for(Student x:data){
			if(x.getName().equals(stu.getName())&&x.getAge()==stu.getAge()
			&&x.getGender()==stu.getGender()&&x.getScore()==stu.getScore()){
				System.out.println("添加失败");
				count++;
			}
		}

		if(count==0){
			Student[] temp=Arrays.copyOf(data,data.length+1);
			temp[temp.length-1]=stu;
			data=temp;
			System.out.println("添加成功");
		}*/

    }



    public static boolean isHaving(Student stu){
        for(Student x:data){
            if(x.getName().equals(stu.getName())&&x.getAge()==stu.getAge()
                    &&x.getGender()==stu.getGender()&&x.getScore()==stu.getScore()){
                return true;
            }
        }
        return false;
    }

    public static void chooseD(){
        int id=showAll();
        System.out.println("请输入你需要删除学生的编码");
        int a=sc.nextInt();
        if(a>id||a<0){
			System.out.println("删除失败,学生不存在");
			}else{
        System.arraycopy(data,a+1,data,a,id-a);
        data=Arrays.copyOf(data,data.length-1);
        System.out.println("删除成功");
    }
        showAll();

    }




    public static void chooseE(){
        int bm=showAll();
        System.out.println("请输入你需要修改学生的编码:");
        int a=sc.nextInt();
        if(a>bm||a<0){System.out.println("修改失败,编码不存在");}
        else{
			System.out.println("修改前的姓名:"+data[a].getName());
        	System.out.print("修改后的姓名:");
        	String name=sc.next();


        	System.out.println("修改前的年龄:"+data[a].getAge());
        	System.out.print("修改后的年龄:");
        	int age=sc.nextInt();



        	char sex='a';
        	boolean pd=true;
        	while(pd){
				System.out.println("修改前的性别:"+data[a].getGender());
        	    System.out.print("请输入你要修改的性别:[A:男  B:女]:");
        	    String AorB=sc.next();
        	    if(AorB.equals("A")){
        	        sex='男';
        	        pd=false;
        	    }else if(AorB.equals("B")){
        	        sex='女';
        	        pd=false;
        	    }else {
        	        System.out.println("性别修改失败,请重新填写");
        	    }
        	}




        	System.out.println("修改前的成绩:"+data[a].getScore());
        	System.out.print("修改后的成绩:");
        	int score=sc.nextInt();
        	Student stu=new Student(name,age,sex,score);
        	if(isHaving(stu)){
        	    System.out.println("数据重复,修改失败");
        	}else{
        	    data[a]=stu;
        	}
        	showAll();

	}

		/*System.out.println("请输入你需要修改学生的序号:");
		int a=sc.nextInt();
		System.out.println("请输入你需要修改学生的内容:[A:姓名 B:年龄 C:性别 D:成绩]");
		String xz=sc.next();
		if("A".equals(xz)){
			System.out.println("请输入你要修改的姓名");
			String name=sc.next();
			data[a].setName(name);
		}else if("B".equals(xz)){
			System.out.println("请输入你要修改的年龄");
			int age=sc.nextInt();
			data[a].setAge(age);
		}else if("C".equals(xz)){
			char sex='a';
			boolean pd=true;
			while(pd){
				System.out.println("请输入你要修改的性别[A:男  B:女]:");
				String AorB=sc.next();
				if(AorB.equals("A")){
					sex='男';
					pd=false;
				}else if(AorB.equals("B")){
					sex='女';
					pd=false;
				}else {
					System.out.println("性别添加失败,请重新添加");
					}
				}
			data[a].setGender(sex);
		}else if("D".equals(xz)){
			System.out.println("请输入你要修改的成绩");
			int score=sc.nextInt();
			data[a].setScore(score);
		}*/


    }



}




class Student{
    private String name;
    private int age;
    private char gender;
    private int score;

    public Student(String name,int age,char gender,int score){
        this.name = name;
        this.age = age;
        this.gender = gender;
        this.score = score;
    }

    public void setName(String name){
        this.name = name;
    }
    public String getName(){
        return name;
    }

    public void setAge(int age){
        this.age = age;
    }
    public int getAge(){
        return age;
    }

    public void setGender(char gender){
        this.gender = gender;
    }
    public char getGender(){
        return gender;
    }

    public void setScore(int score){
        this.score = score;
    }
    public int getScore(){
        return score;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值