学生系统的增删查改

本文介绍了一个基于字符界面的学生信息管理系统的设计与实现。系统通过数组存储学生数据,并提供了增加、删除、修改、查找等基本功能。文章详细展示了系统的类结构和核心代码。

设计并实现一个“学院学生信息管理”系统。系统采用字符界面,在出现的主界面中按提示输入相应字符以选择“增加”、“删除”、“修改”、“查找”等功能进行操作。记录的存储采用数组的方式。

提示:

    为了实现该系统,首先要需要两个类;一个类为主界面服务,用于接收用户输入选择以及做出相关反应;一个类为学生信息服务。

package javaTest;
import java.util.*;

public class Demo07 {
	public static void main(String rg[])
	{
		Stud[] stus=new Stud[30];
		for(int i=0;i<stus.length;i++)
		{
			stus[i]=null;
		}
		
		stus[0]=new Stud("张三", "02",78,99,92);
		stus[1]=new Stud("李四", "03",98,59,95);
		stus[2]=new Stud("王五", "04",78,89,56);
		stus[3]=new Stud("赵六", "05",88,69,95);
		stus[4]=new Stud("周其", "06",78,79,55);
		
		System.out.println("欢迎使用学生信息管理系统!");
		boolean exit=false;
	while(!exit)//exit为退出主菜单的指示变量,true为退出,flase为不退出
		{
			System.out.println();
			System.out.println("************************************");
			System.out.println("****************主菜单****************");
			System.out.print(" 1。显示所有学生信息\t\t");
			System.out.println("2。新增学生信息");
			System.out.print(" 3。修改学生信息\t\t");
			System.out.println("4。删除学生信息");
			System.out.print(" 5。查询满足某条件的学生名单\t\t");
			System.out.println("6。退出");
			System.out.println("************************************");
			System.out.println("************************************");
			System.out.print("请选择你要操作的功能:");
			Scanner input=new Scanner(System.in);
			int selector=input.nextInt();
            
			switch(selector)   //查询学生信息
			{
			case 1:
				try{
					Stud.showAll(stus);
					}catch(NullPointerException e){
					
				}
				break;
			case 2:
				Stud.insert(stus);
				break;
			case 3:
				try{
					Stud.modify(stus);
				}catch(NullPointerException e){}
				break;
			case 4:
				Stud.delete(stus);
				break;
			case 5:
				try{
					Stud[] ss=Stud.select(stus);
					System.out.println("姓名\t学号\t英语成绩\t数学成绩\t语文成绩");
					for(Stud item:ss) if(item!=null) item.show();
				}catch(NullPointerException e){}
				
				break;
			case 6:
				exit=true;
				break;
			default: System.out.println("无此功能");	
				
			}
            }
	}
}
 class Stud {
	String name;
	String id;
	int english;
	int math;
	int chinese;
	
	public Stud()
	{
		
	}
	public Stud(String name,String id,int a,int b,int c)
	{
		this.name=name;
		this.id=id;
		this.english=a;
		this.math=b;
		this.chinese=c;
	}
	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public int getEnglish() {
		return english;
	}
	public void setEnglish(int english) {
		this.english = english;
	}
	public int getMath() {
		return math;
	}
	public void setMath(int math) {
		this.math = math;
	}
	public int getChinese() {
		return chinese;
	}
	public void setChinese(int chinese) {
		this.chinese = chinese;
	}
	public static void showAll(Stud[] ss)
	{
		System.out.println("姓名\t学号\t英语成绩\t数学成绩\t语文成绩");
		for(int i=0;i<ss.length;i++){
			if(!ss[i].equals(null)){
				ss[i].show();
			}
		}	
	}
	
	public static Stud[] select(Stud[] ss)
	{  String key;
	   String value;
	Scanner sin=new Scanner(System.in);
	System.out.print("请输入要查找的关键字");
	key=sin.next();
	System.out.print("请输入要查找的值");
	value=sin.nextLine();
    for(int i=0;i<ss.length;i++){
    	if(key.equals("id")&&ss[i].id.equals(value)){
    		ss[i].show();
    	}
    }
	return ss;
	}
	public void show()
	{
	System.out.println("姓名:"+this.getName()+"\t学号:"+this.getId()+"\t英语成绩:"+this.getEnglish()+"\t数学成绩:"+this.getMath()+"\t语文成绩:"+this.getChinese());	
	}
	
	public static void modify(Stud[] ss)
	{
		String key, oldvalue, newvalue;
		
			Scanner sin=new Scanner(System.in);
			System.out.print("请输入要修改的学号");
			String id=sin.next();
			System.out.print("请输入关键字");
			key=sin.next();
			System.out.print("请输入新的关键字的值");
			newvalue=sin.next();
			for(int i=0;i<ss.length;i++){
				if(ss[i].id.equals(id)){
					if(key.equals("english")){
						ss[i].english=Integer.parseInt(newvalue);
					}
					else if(key.equals("math")){
						ss[i].math=Integer.parseInt(newvalue);
					}
					else if(key.equals("chinese")){
						ss[i].chinese=Integer.parseInt(newvalue);
					}
					else if(key.equals("name")){
						ss[i].name=newvalue;
					}
					else if(key.equals("id")){
						ss[i].id=newvalue;
					}
				}
			}
		
	}
	
	public static void insert(Stud[] ss)
	{
		
		System.out.println("请输入姓名\t学号\t英语成绩\t数学成绩\t语文成绩");
		Scanner sin=new Scanner(System.in);
		String name=sin.nextLine();
		String id=sin.nextLine();
		int a=sin.nextInt();
		int b=sin.nextInt();
		int c=sin.nextInt();
		for(int i=0;i<ss.length;i++){
			if(ss[i]==null){
	    ss[i]=new Stud(name, id, a, b, c);
	    break;
			}
		}
	}
	public static void delete(Stud[] ss)
	{ String key,value;
	Scanner sin=new Scanner(System.in);
	System.out.print("请输入关键字");
	key=sin.next();
	System.out.print("请输入要删除的关键字的值");
	value=sin.next();
	for(int i=0;i<ss.length;i++){
		if(key.equals("id")&&ss[i].id.equals(value)){
			ss[i]=null;
		}
		else if(key.equals("name")&&ss[i].name.equals(value)){
			ss[i]=null;
		}
	}
}
}

 

转载于:https://my.oschina.net/saysuqi/blog/807934

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值