Swing(三)学生管理系统(Java)

目录

实体类

方法类

接口类

测试类


一共有18个功能,如果觉得功能较多可以略做删减,这是最初般的不用连接数据库,其他功能小伙伴们可以去探索!-(^-^)-!

实体类:写你所需要的字段,格式如下

数据类型 字段名

int sid、string sname

方法类:增删改查,里面的每个方法都有注释,可以直接看代码

public class People {
	Student s[] = new Student[100];
	
	// 增加学员信息
	public void addStu(Student stu) {
		boolean f = true;
		for (int i = 0; i < s.length; i++) {
			if(s[i]==null) {
				s[i] = stu;
				System.out.println("增加成功!");
				break;
			}
		}
	}
	
	//删除学员信息,根据学号删除
	public void deleteStu(String sid) {
		boolean f = false;
		for (int i = 0; i < s.length; i++) {
			if(s[i]!=null) {
				if(s[i].getSid().equals(sid)) {
					s[i] = null;
					f = true;
					System.out.println("删除成功!");
					break;
				}
			}
		}
		if(!f) {
			System.out.println("查无此人!");
		}
	}
	
	//查看学员信息,学号
	public void findStuBySid(String sid) {
		boolean f = false;
		for (int i = 0; i < s.length; i++) {
			if(s[i]!=null) {
				if(s[i].getSid().equals(sid)) {
					System.out.println(s[i]);
					f = true;
					break;
				}
			}
		}
		if(!f) {
			System.out.println("不好意思,查无此人!");
		}
	}
	
	// 查看学员信息,最高分学员信息
	public void findMax() {
		for (int i = 0; i < s.length-1; i++) {
			for (int j = i; j < s.length; j++) {
				if(s[j]!=null&&s[i]!=null) {
					if(s[j].getScore()>s[i].getScore()) {
						Student a = s[i];
						s[i]=s[j];
						s[j]=a;
					}
				}
			}
		}
		System.out.println(s[0]);
	}
	
	// 查看学员信息,最低分学员信息
	public void findMin() {
		for (int i = 0; i < s.length-1; i++) {
			for (int j = i; j < s.length; j++) {
				if(s[j]!=null&&s[i]!=null) {
					if(s[j].getScore()<s[i].getScore()) {
						Student a = s[i];
						s[i]=s[j];
						s[j]=a;
					}
				}
			}
		}
		System.out.println(s[0]);
	}
	
	 //查看学员信息,从大到小冒号排序
	 public void findMaxq() {
		 for (int i = 0; i < s.length-1; i++) {
				for (int j = i; j < s.length; j++) {
					if(s[j]!=null&&s[i]!=null) {
						if(s[j].getScore()>s[i].getScore()) {
							Student a = s[i];
							s[i] = s[j];
							s[j] = a;
						}
					}
				}
				if(s[i]!=null) {	
					System.out.println(s[i]);
				}
			}
	 }
	
	
	//判断学号是否重复 返回类型定为boolean
	public boolean isExists(String sid) {
		boolean f=false;
		for (int i = 0; i < s.length; i++) {
			if(s[i]!=null) {
				if(s[i].getSid().equals(sid)) {
					f = true;
				}
			}
		}
		return false;
	}
	
	// 查看学员信息,从小到大冒号排序
	public void findMimq() {
		for (int i = 0; i < s.length-1; i++) {
			for (int j = i; j < s.length; j++) {
				if(s[j]!=null&&s[i]!=null) {
					if(s[j].getScore()<s[i].getScore()) {
						Student a = s[i];
						s[i] = s[j];
						s[j] = a;
					}
				}
			}
			if(s[i]!=null) {	
				System.out.println(s[i]);
			}
		}
	}
	
	// 查看学员信息,从大到小冒号排序
	public void findMaxNl() {
		for (int i = 0; i < s.length-1; i++) {
			for (int j = i; j < s.length; j++) {
				if(s[j]!=null&&s[i]!=null) {
					if(s[j].getAge()>s[i].getAge()) {
						Student a = s[i];
						s[i] = s[j];
						s[j] = a;
					}
				}
			}
			if(s[i]!=null) {	
				System.out.println(s[i]);
			}
		}
			 
	 }
	
	//查看学员信息,从小到大冒号排序
	public void findMimNl() {
		for (int i = 0; i < s.length-1; i++) {
			for (int j = i; j < s.length; j++) {
				if(s[j]!=null&&s[i]!=null) {
					if(s[j].getAge()<s[i].getAge()) {
						Student a = s[i];
						s[i] = s[j];
						s[j] = a;
					}
				}
			}
			if(s[i]!=null) {	
				System.out.println(s[i]);
			}
		}	
	}
		
	//查看总分与平均分
	public void TotalandAverage() {
		int sum = 0;
		int count = 0;
		for (int i = 0; i < s.length; i++) {
			if(s[i]!=null) {
				sum +=s[i].getScore();
				count++;
			}
		}
		System.out.println("总分为:"+sum+"\t\t平均分为:"+sum/count);
	}	
		
	//修改学员信息
	// 包含学号sid、姓名sname、年龄age、分数score、性别sex
	public void updateSum(String oldsid,String sid,String sname,int age,double score,String sex) {
		for (int i = 0; i < s.length; i++) {
			if(s[i].getSid().equals(oldsid)) {
				s[i].setSid(sid);
				s[i].setSname(sname);
				s[i].setAge(age);
				s[i].setScore(score);
				s[i].setSex(sex);
			}
			System.out.println(s[i]);
		}	
	}
	
	//修改学员信息,学号
	public void updateStuxh(String oldsnaem,String newsid) {
		boolean f = false;
		for (int i = 0; i < s.length; i++) {
			if(s[i]!=null) {
				if(s[i].getSname().equals(oldsnaem)) {
					s[i].setSid(newsid);
					f = true;
					System.out.println("学号修改成功!");
					break;
				}
			}
		}
		if(!f) {
			System.out.println("查无此人!");
		}	
	}
	
	
	//修改学员信息,姓名
	public void updateStuxm(String oldsname,String newsname) {
		boolean f = false;
		for (int i = 0; i < s.length; i++) {
			if(s[i]!=null) {
				if(s[i].getSname().equals(oldsname)) {
					s[i].setSname(newsname);
					f = true;
					System.out.println("姓名修改成功!");
					break;
				}
			}
		}
		if(!f) {
			System.out.println("查无此人!");
		}	
	}
		
	// 修改学员信息,年龄	
	public void updateStunn(String oldsname,int newage) {
		boolean f = false;
		for (int i = 0; i < s.length; i++) {
			if(s[i]!=null) {
				if(s[i].getSname().equals(oldsname)) {
					s[i].setAge(newage);;
					f = true;
					System.out.println("年龄修改成功!");
					break;
				}
			}
		}
		if(!f) {
			System.out.println("查无此人!");
		}	
	}
		
		
	// 修改学员信息,分数
	public void updateStufs(String oldsname,int newscore) {
		boolean f = false;
		for (int i = 0; i < s.length; i++) {
			if(s[i]!=null) {
				if(s[i].getSname().equals(oldsname)) {
					s[i].setScore(newscore);;
					f = true;
					System.out.println("分数修改成功!");
					break;
				}
			}
		}
		if(!f) {
			System.out.println("查无此人!");
		}	
	}
		
		
	//修改学员信息,性别
	public void updateStuxb(String oldsname,String newsex) {
		boolean f = false;
		for (int i = 0; i < s.length; i++) {
			if(s[i]!=null) {
				if(s[i].getSex().equals(oldsname)) {
					s[i].setSex(newsex);
					f = true;
					System.out.println("性别修改成功!");
					break;
				}
			}
		}
		if(!f) {
			System.out.println("查无此人!");
		}	
	}
		
	// 打印学员信息	
	public void printAll() {
		for (Student stu : s) {
			if(stu!=null) {
				System.out.println(stu);
			}
		}	
	}

	public void setSid(String sid) {
		// TODO Auto-generated method stub
		
	}
}

接口类:interface可以做引用类型,不可以做实例化对象

public interface Ipeople {
	// 增加学员信息
		public void addStu(Student stu); 
		
		//删除学员信息,根据学号删除
		public void deleteStu(String sid);
		
		//查看学员信息,学号
		public void findStuBySid(String sid);
		
		// 查看学员信息,最高分学员信息
		public void findMax();
		
		// 查看学员信息,最低分学员信息
		public void findMin();
		
		 //查看学员信息,从大到小冒号排序
		public void findMaxq();
		
		//判断学号是否重复 返回类型定为boolean
		public boolean isExists(String sid);
		
		// 查看学员信息,从小到大冒号排序
		public void findMimq();
		
		// 查看学员信息,从大到小冒号排序
		public void findMaxNl();
		
		//查看学员信息,从小到大冒号排序
		public void findMimNl();
			
		//查看总分与平均分
		public void TotalandAverage();
			
		//修改学员信息
		// 包含学号sid、姓名sname、年龄age、分数score、性别sex
			public void updateSum(String oldsid,String sid,String sname,int age,double score,String sex);
		
		//修改学员信息,学号
			public void updateStuxh(String oldsname,String newsid);
		
		//修改学员信息,姓名
			public void updateStuxm(String oldsname,String newsname);
			
		// 修改学员信息,年龄	
			public  void updateStunn(String oldsname,int newage);
			
		// 修改学员信息,分数
			public void updateStufs(String oldsname,int newscore);
			
		//修改学员信息,性别
			public void updateStuxb(String oldsname,String newsex);
			
		// 打印学员信息	
			public void printAll();
}

测试类:直接看代码

import java.util.Scanner;//导包

public class Test {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		Student xs[] = new Student[100];
		People stu = new People();
		while(true) {
			try {
			System.out.println("进入学员管理系统请输入对应的账户:");
			String zh = sc.next();
			System.out.println("进入学员管理系统请输入对应的账户密码:");
			int mm = sc.nextInt();
			if(zh.equals("qwe")&&mm==123) {
				System.out.println("\t\t\t\t!-(^-^)-!欢迎来到学员管理系统!-(^-^)-!");
				while (true) {//1
					System.out.println("请输入你的选择:1、查看学员信息,2、增加学员信息,3、修改学员信息,4、删除学员信息,5、打印学员信息,6、退出学员管理系统");
					int a = sc.nextInt();
						if(a==1) {//查看学员信息
							while(true) {
								System.out.println("请输入你的选择:1、查看单个学员信息,2查看所有学员信息,3、返回上级菜单");
								int z = sc.nextInt();
								if(z==1) {//查看单个学员信息
									while(true) {
										System.out.println("请输入你的选择:1、根据学号查看,2、查看最高分学员信息,3、查看最低分学员信息,4、返回上级菜单");
										int b = sc.nextInt();
										if(b==1) {//根据学号查看
											System.out.println("\t请输入你要查看的学号");
											String sid = sc.next();
											stu.findStuBySid(sid);
										}
										else if(b==2) {//查看最高分学员信息
											stu.findMax();
										}
										else if(b==3) {//查看最低分学员信息
											stu.findMin();
										}
										else if(b==4) {//返回上级菜单
											System.out.println("\t\t\t(*-*)!已返回上级菜单!");
											break;
										}
										else {//1-4以外的选择
											System.out.println("\t没有该指令(?—?)\n\t请输入正确的1-4选择:");
										}
									}
								}
								else if(z==2) {//查看所有学员信息
									while(true) {
										System.out.println("请输入你的选择:1、按照成绩的最高分排序,2、按照成绩的最低分排序,3、按照年龄的最高分排序,4、按照年龄的最低分排序,5、查看总分与平均分,6、返回上级菜单");
										int e = sc.nextInt();
										if(e==1) {//按照成绩的最高分排序
											stu.findMaxq();
										}
										else if(e==2) {//按照成绩的最低分排序
											stu.findMimq();
										}
										else if(e==3) {//按照年龄的最高分排序
											stu.findMaxNl();
										}
										else if(e==4) {//按照年龄的最低分排序
											stu.findMimNl();
										}
										else if(e==5) {//查看总分与平均分
											stu.TotalandAverage();
										}
										else if(e==6) {//返回上级菜单
											System.out.println("\t\t\t(*-*)!已返回上级菜单!");
											break;
										}
										else {//1-6以外的选择
											System.out.println("\t没有该指令(?—?)\n\t请输入正确的1-6选择:");
										}
									}
								}
								else if(z==3) {//返回上级菜单
									System.out.println("\t\t\t(*-*)!已返回上级菜单!");
									break;
								}
								else {//1-3以外的选择
									System.out.println("\t没有该指令(?—?)\n\t请输入正确的1-3选择:");
								}
							}
						}
						else if(a==2) {//增加学员信息
		//					包含学号sid、姓名sname、年龄age、分数score、性别sex
							System.out.println("请输入你要增加的学员个数:");
							int g = sc.nextInt();
							for (int i = 0; i < g; i++) {
								Student s = new Student();
								System.out.println("请输入学员的学号:");
								String sid = sc.next();
								for (int k = 0; k < xs.length; k++) {
									boolean b = stu.isExists(sid);
									if (b==false) {
										s.setSid(sid);
									}
									else {
										System.out.println("\t该学号已存在");
										break;
									}
								}
								System.out.println("请输入第"+(i+1)+"个学员的姓名:");
								String sname = sc.next();
								s.setSname(sname);
								while(true) {
									System.out.println("请输入第"+(i+1)+"个学员的年龄:");
									int age = sc.nextInt();
									if(age>0&&age<100) {
										s.setAge(age);
										break;
									}
									else {
										System.out.println("\t第"+(i+1)+"个学员的年龄在0-100之间,请重新输入:");
									}
								}
								while(true) {
									System.out.println("请输入第"+(i+1)+"个学员的分数:");
									int score = sc.nextInt();
									if(score>0&&score<100) {
										s.setScore(score);
										break;
									}
									else {
										System.out.println("\t第"+(i+1)+"个学员的成绩在0-100之间,请重新输入:");
									}
								}
								while(true) {
									System.out.println("请输入第"+(i+1)+"个学员的性别:");
									String sex = sc.next();
									if(sex.equals("男")||sex.equals("女")) {
										s.setSex(sex);
										break;
									}
									else {
										System.out.println("\t第"+(i+1)+"个学员的性别只有男女之分,请重新输入:");
									}
								}
								System.out.println(s);
								
								stu.addStu(s);
							}
						}
						else if(a==3) {//修改学员信息
							while(true) {
								System.out.println("请输入你的选择:1、根据学号修改全部,2、修改单个,3、返回上级菜单");
								int c = sc.nextInt();
								if(c==1) {//修改全部包含姓名sname、学号sid、年龄age、分数score、性别sex
									System.out.println("请输入修改前的学员学号:");
									String oldsid = sc.next();
									System.out.println("请输入修改后的学员学号:");
									String sid = sc.next();
									System.out.println("请输入修改后的学员姓名:");
									String sname = sc.next();
									System.out.println("请输入修改后的学员年龄:");
									int age = sc.nextInt();
									System.out.println("请输入修改后的学员分数:");
									double score = sc.nextDouble();
									System.out.println("请输入修改后的学员性别:");
									String sex = sc.next();
									
									stu.updateSum(oldsid, sid, sname, age, score, sex);
									
									System.out.println("\t恭喜你,已修改该学员全部信息!");
									
								}
								else if(c==2) {//修改单个
									System.out.println("请输入你的选择:1、修改姓名,2、根据姓名修改学号,3、根据姓名修改年龄,4、根据姓名修改分数,5、根据姓名修改性别,6、返回上级菜单");
									int d = sc.nextInt();
									if(d==1) {//修改姓名
										System.out.println("请输入修改前的学员姓名:");
										String oldsname = sc.next();
										System.out.println("请输入修改后的学员姓名:");
										String newsname = sc.next();
										stu.updateStuxm(oldsname, newsname);
									}
									else if(d==2) {//修改学号
										System.out.println("请输入修改前的学员姓名:");
										String oldsname = sc.next();
										System.out.println("请输入修改后的学员学号:");
										String newsid = sc.next();
										stu.updateStuxh(oldsname, newsid);
									}
									else if(d==3) {//修改年龄
										System.out.println("请输入修改前的学员姓名:");
										String oldsname = sc.next();
										System.out.println("请输入修改后的学员年龄:");
										int newage = sc.nextInt();
										stu.updateStunn(oldsname, newage);
									}
									else if(d==4) {//修改分数
										System.out.println("请输入修改前的学员姓名:");
										String oldsname = sc.next();
										System.out.println("请输入修改后的学员分数:");
										int newscore = sc.nextInt();
										stu.updateStufs(oldsname, newscore);
									}
									else if(d==5) {//修改性别
										System.out.println("请输入修改前的学员姓名:");
										String oldsname = sc.next();
										System.out.println("请输入修改后的学员性别:");
										String newsex = sc.next();
										stu.updateStuxb(oldsname, newsex);
									}
									else if(d==6) {//返回上级菜单
										System.out.println("\t\t\t(*-*)!已返回上级菜单!");
										break;
									}
									else {
										System.out.println("\t没有该指令(?—?)\n\t请重新输入正确的1-5选择:");
									}
								}
								else if(c==3) {//返回上级菜单
									System.out.println("\t\t\t(*-*)!已返回上级菜单!");
									break;
								}
							}
						}
						else if(a==4) {//删除学员信息
							System.out.println("请输入你要删除的学员学号:");
							String sid = sc.next();
							stu.deleteStu(sid);
						}
						else if(a==5) {//打印学员信息
							System.out.println("打印结果如下:");
							stu.printAll();
						}
						else if(a==6) {//退出学员管理系统
							System.out.println("感谢使用本系统!(^-^)!");
							break;
						}
						else {//1-6以外的选择
							System.out.println("\t没有该指令(?—?)\n\t请重新输入正确的1-6选择:");
						}
					}
				}
				else {
					System.out.println("\t你输入的账户或密码错误,请重新输入!");
				}
			break;
			}catch(Exception e) {
				System.out.println("请输入正确选项:");
			}
		}
	}
}

以上就是今天分享的代码,请大佬指教!-(^-^)-!

  • 9
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天蝎座的程序媛

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值