ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java面向对象阶段项目 学生信息管理系统

2021-07-01 18:01:32  阅读:133  来源: 互联网

标签:java System 面向对象 Student println 信息管理系统 data public out


// scanner  导包;
import java.util.*;
//类
public class Exec1{
	//static 的全局变量
	static  Student[] data = new Student[5];
	static Scanner sc = new Scanner(System.in);
	//main()方法(程序开始的地方)
	public static void main(String[] args){
		//Student stu = new Student("",',',');
		//data[0] = STU;


		data[0] = new Student("周小龙",23,'女',88);
		data[1] = new Student("赵强",13,'男',68);
		data[2] = new Student("王浩",23,'男',54);
		data[3] = new Student("刘莉莉",22,'女',98);
		data[4] = new Student("王学",22,'女',87);
       //通过while(true) 一直循环输入命令
     while(true){
		System.out.println("--------------------------------------------");
		System.out.println("	A:按照年龄升序");
		System.out.println("	B:按照分数降序");
		System.out.println("	C:添加学生信息");
		System.out.println("	D:删除学生信息");
		System.out.println("	E:修改学生信息");
		System.out.println("	Y:退出");
		System.out.println("--------------------------------------------");

		String abcde = sc.next();

			if(abcde.equals("A")){
			 //分数升序
			   cA();
			}else if(abcde.equals("B")){
			//分数降序
			   cB();
			}else if(abcde.equals("C")){
				//添加学生信息
			   cC();
			}else if(abcde.equals("D")){
				//删除学生信息
               cD();
			}else if(abcde.equals("E")){
				//修改学生信息
               cE();
			}else{
				//除abcde 结束系统
				break;
		    }
		}

	}
	//封装方法 A 按照年龄升序
	public static void cA(){
		for(int x = 0;x<data.length-1;++x){
			for(int y = 0;y<data.length-1-x;++y){
				if(data[y].getScore()<data[y+1].getScore()){
					Student a = data[y];
					data[y]= data[y+1];
					data[y+1] = a;
				}
			}
		}
		//遍历数组 并打印
		showAll();
	}
    //B:按照分数降序
	public static void cB(){
		for(int x = 0;x<data.length-1;++x){
			for(int y = 0;y<data.length-1-x;++y){
				if(data[y].getScore()>data[y+1].getScore()){
					Student a = data[y];
					data[y]= data[y+1];
					data[y+1] = a;
				}
			}
		}
		//遍历数组 并打印
		showAll();
	}
   //C:添加学生信息
    public static void cC(){
		System.out.println("	请输入学生的姓名:");
	    String name = sc.next();
	    System.out.println("	请输入学生年龄:");
	    int age = sc.nextInt();
	    System.out.println("	请输入学生的性别【A男/B女】");
	    String sex = sc.next();
	    char gender = sex.equals("A")?'男':'女';
	    System.out.println("	请输入学生的分数");
        double score = sc.nextDouble();
        Student stu = new Student(name,age,gender,score);

        boolean coun = isHaving(stu);
		if(coun == false){
			data = Arrays.copyOf(data,data.length+1);
			data[data.length-1] = stu;
			System.out.println("添加成功");
		}else{
			System.out.println("添加失败");
		}
		//遍历数组 并打印
		showAll();

	}
    //D:删除学生信息
    public static void cD(){
		//遍历数组 并打印
		showAll();
		System.out.println("请输入要删除的学生编码:");
		int del = sc.nextInt();
		if(del<=data.length-1 && del>=0){
			Student[] aa = new Student[data.length-1];
			System.arraycopy(data,0,aa,0,del);
			System.arraycopy(data,del+1,aa,del,data.length-del-1);
			data = aa;
			System.out.println("删除成功");
		}else{
			System.out.println("该号码不存在,删除失败");
			}
	}
    //E:修改学生信息
    public static void cE(){
		//遍历数组 并打印
		showAll();
		System.out.println("请输入要修改的学生编码:");
		int alter = sc.nextInt();
		if(0<=alter && alter<data.length){
		System.out.print("修改前学生姓名"+data[alter].getName()+"		修改后学生姓名"+'\n');
		String name = sc.next();
		System.out.print("修改前学生年龄"+data[alter].getAge()+"		修改后学生年龄\n");
        int age = sc.nextInt();
        System.out.print("修改前学生性别"+data[alter].getGender()+"		 修改后学生性别【A男/B女】\n");
        String a = sc.next();
        char gender = a.equals("A")?'男':'女';
        System.out.print("修改前学生分数"+data[alter].getScore()+"		修改后的学生分数\n");
        double score = sc.nextDouble();
        Student stu = new Student(name,age,gender,score);
        //boolean aa = isHaving(stu);


             if(isHaving(stu) == false){
				data[alter]=stu;
				System.out.println("修改成功");
		      }else {
				  System.out.println("修改失败  该学生信息已存在");
			  }
		}else{
			System.out.println("请输入正确的编号");
		}

	}
    //封装方法 判断是否存在
    public static boolean isHaving(Student x){
		for(Student s:data){
			if(s.getName().equals(x.getName()) && s.getAge() == x.getAge() && s.getGender() == x.getGender() && s.getScore() == x.getScore()){
				return true;
			}
		}
		return false;
	}




   //封装方法 打印出所有的学生信息
	public static void showAll(){
		System.out.println("编号	姓名	年龄	性别	分数");
				for(int x = 0;x<data.length;++x){
			System.out.println(x+"	"+data[x].getName()+"	"+data[x].getAge()+"	"+data[x].getGender()+"	"+data[x].getScore());
	    }
    }


}











//学生类
class Student{
	//封装  使用private修饰符
	private String name;
	private int age;
	private char gender;
	private double score;
    //构造函数
	public Student(String name,int age,char gender,double score){
		this.name = name;
		this.age = age;
		this.gender = gender;
		this.score = score;
	}
    //set方法
	public void setName(String name){
		this.name = name;
	}
	//get方法
	public String getName(){
		return name;
	}
	//set方法
	public void setAge(int age){
		this.age = age;
	}
	//get方法
	public int getAge(){
		return age;
	}
	//set方法
	public void setGender(char gender){
		this.gender = gender;
	}
	//get方法
	public char getGender(){
		return gender;
	}
	//set方法
	public void setScore(double score){
		this.score = score;
	}
	//get方法
	public double getScore(){
		return score;
	}

}
![在这里插入图片描述](https://www.icode9.com/i/ll/?i=20210701175938414.png?,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzQ4OTgxODA4,size_16,color_FFFFFF,t_70)

标签:java,System,面向对象,Student,println,信息管理系统,data,public,out
来源: https://blog.csdn.net/m0_48981808/article/details/118392318

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有