直接上代码吧!
还是先上示例图吧!一共有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("请输入正确选项:"); } } } }