目录
直接上代码吧!
还是先上示例图吧!一共有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("请输入正确选项:");
}
}
}
}
以上就是今天分享的代码,请大佬指教!-(^-^)-!
|