目录
1,stduent类
package com.studentDemo.entity;
import java.util.Arrays;
/**
* 学生类的对象建设
*/
public class Student {
private int stuId;
private String name;
private int num;
private String sex;
private int talll;
private int weight;
private String[] hobby;
private String email;
private String address;
private String classId;//计算机2101班或计算机2102班
public Student() {
}
public Student(int stuId, String name, int num, String sex, int talll, int weight, String[] hobby, String email, String address, String classId) {
this.stuId = stuId;
this.name = name;
this.num = num;
this.sex = sex;
this.talll = talll;
this.weight = weight;
this.hobby = hobby;
this.email = email;
this.address = address;
this.classId = classId;
}
public int getStuId() {
return stuId;
}
public void setStuId(int stuId) {
this.stuId = stuId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getTalll() {
return talll;
}
public void setTalll(int talll) {
this.talll = talll;
}
public int getWeight() {
return weight;
}
public void setWeight(int weight) {
this.weight = weight;
}
public String[] getHobby() {
return hobby;
}
public void setHobby(String[] hobby) {
this.hobby = hobby;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getClassId() {
return classId;
}
public void setClassId(String classId) {
this.classId = classId;
}
@Override
public String toString() {
return "Student{" +
"styId=" + stuId +
", name='" + name + '\'' +
", num=" + num +
", sex='" + sex + '\'' +
", talll=" + talll +
", weight=" + weight +
", hobby=" + Arrays.toString(hobby) +
", email='" + email + '\'' +
", address='" + address + '\'' +
", classId='" + classId + '\'' +
'}';
}
}
2,student接口
package com.studentDemo.interface1;
import com.studentDemo.entity.Student;
import com.studentDemo.utils.Result;
import java.util.List;
public interface StudentInterface {
/**
*
* @param list 要把学生添加进次集合
* @param stu 要添加的学生
* @return
*/
Result addStudent(List<Student> list, Student stu);
/**
* 根据学生的编号来删除学生
* @param stuId
* @param list
* @return
*/
Result deleteStudentByStuId(int stuId,List<Student> list);
/**
*根据学生编号来查找学生
* @param StuId
* @param list
* @return
*/
Result selectStudentByStuId(int StuId,List<Student> list);
/**
* 根据学生编号来修改学生的信息
* @param StuId
* @param list
* @return
*/
Result UpdateStudentByStuId(int StuId,List<Student> list);
/**
* 打印全部信息给管理员
* @param list
* @return
*/
Result SelectAllStudent(List<Student> list);
Result Exit();
}
3,各类Utils
3.1 AddUtils(增加学生)
package com.studentDemo.utils;
import com.studentDemo.entity.Student;
import java.sql.SQLOutput;
import java.util.Scanner;
/**
* private int stuId;
* private String name;
* private int num;
* private String sex;
* private int talll;
* private int weight;
* private String[] hobby;
* private String email;
* private String address;
* private String classId;//计算机2101班或计算机2102班
*/
public class AddUtils {
public static Student AddStduent(){
Student stu = new Student();
Scanner sc = new Scanner(System.in);
System.out.println(Count.InputName);
String name = sc.next();
stu.setName(name);
System.out.println(Count.InputStuId);
int id = sc.nextInt();
stu.setStuId(id);
System.out.println(Count.InputNum);
int num = sc.nextInt();
stu.setNum(num);
System.out.println(Count.InputSex);
String sex = sc.next();
stu.setSex(sex);
System.out.println(Count.InputTall);
int tall = sc.nextInt();
stu.setTalll(tall);
System.out.println(Count.InputWeight);
int weight = sc.nextInt();
stu.setWeight(weight);
System.out.println(Count.InputEmail);
String email = sc.next();
stu.setEmail(email);
System.out.println(Count.InputAddress);
String address = sc.next();
stu.setAddress(address);
System.out.println(Count.InputClassId);
String classid = sc.next();
stu.setClassId(classid);
System.out.println(Count.InputHobby);
String hobby = sc.next();
String[] split = hobby.split(",");
stu.setHobby(split);
return stu;
}
}
3.2 Count类(全变量类)
package com.studentDemo.utils;
/**
*常量返回
*/
public class Count {
public static String success="操作成功";
public static String fail="操作失败";
//更改
public static String SelectWhat="请输入需要修改的属性:";
public static String UpdateForName="请输入更改后的姓名:";
public static String UpdateForNum="请输入更改后的学生编号:";
public static String UpdateForSex="请输入更改后的学生编号:";
public static String UpdateForTall ="请输入更改后的学生身高:";
public static String UpdateForWeight="请输入更改后的学生体重";
public static String UpdateForHobby="请输入更改后的学生爱好:";
public static String UpdateForClassId="请输入更改后的学生班级:";
public static String UpdateForAddress="请输入更改后的学生地址:";
public static String UpdateForEmail="请输入更改后的学生邮箱:";
public static String InputANumber="请输入一个数字:";
public static String InputError="输入错误";
//功能
public static void GongNeng(){
System.out.println("功能");
System.out.println("1.增加学生");
System.out.println("2.删除学生");
System.out.println("3.修改学生");
System.out.println("4.查找学生");
System.out.println("5.展示集合学生信息");
}
//增加
public static String InputStuId = "请输入学号:";
public static String InputName = "请输入姓名:";
public static String InputNum = "请输入学生编号:";
public static String InputSex = "请输入性别:";
public static String InputTall = "请输入身高:";
public static String InputWeight = "请输入体重:";
public static String InputHobby = "请输入爱好:";
public static String InputEmail = "请输入邮箱:";
public static String InputAddress = "请输入地址:";
public static String InputClassId = "请输入班级:";
public static String Exit="退出";
}
3.3 NameUtils(生成学生名字)
package com.studentDemo.utils;
import java.util.Random;
public class NameUtils{
static String familyName = "赵钱孙李周吴郑王冯陈褚卫蒋沈韩杨朱秦尤许何吕施张孔曹严华金魏陶姜戚谢邹喻水云苏潘葛奚范彭郎鲁韦昌马苗凤花方俞任袁柳鲍史唐费岑薛雷贺倪汤滕殷罗毕郝邬安常乐于时傅卞齐康伍余元卜顾孟平"
+ "黄和穆萧尹姚邵湛汪祁毛禹狄米贝明臧计成戴宋茅庞熊纪舒屈项祝董粱杜阮席季麻强贾路娄危江童颜郭梅盛林刁钟徐邱骆高夏蔡田胡凌霍万柯卢莫房缪干解应宗丁宣邓郁单杭洪包诸左石崔吉"
+ "龚程邢滑裴陆荣翁荀羊甄家封芮储靳邴松井富乌焦巴弓牧隗山谷车侯伊宁仇祖武符刘景詹束龙叶幸司韶黎乔苍双闻莘劳逄姬冉宰桂牛寿通边燕冀尚农温庄晏瞿茹习鱼容向古戈终居衡步都耿满弘国文东殴沃曾关红游盖益桓公晋楚闫";
static String firstName2 = "欧阳太史端木上官司马东方独孤南宫万俟闻人夏侯诸葛尉迟公羊赫连澹台皇甫宗政濮阳公冶太叔申屠公孙慕容仲孙钟离长孙宇文司徒鲜于司空闾丘子车亓官司寇巫马公西颛孙壤驷公良漆雕乐正宰父谷梁拓跋夹谷轩辕令狐段干百里呼延东郭南门羊舌微生公户公玉公仪梁丘公仲公上公门公山公坚左丘公伯西门公祖第五公乘贯丘公皙南荣东里东宫仲长子书子桑即墨达奚褚师吴铭";
static String girlName = "秀娟英华慧巧美娜静淑惠珠翠雅芝玉萍红娥玲芬芳燕彩春菊兰凤洁梅琳素云莲真环雪荣爱妹霞香月莺媛艳瑞凡佳嘉琼勤珍贞莉桂娣叶璧璐娅琦晶妍茜秋珊莎锦黛青倩婷姣婉娴瑾颖露瑶怡婵雁蓓纨仪荷丹蓉眉君琴蕊薇菁梦岚苑婕馨瑗琰韵融园艺咏卿聪澜纯毓悦昭冰爽琬茗羽希宁欣飘育滢馥筠柔竹霭凝晓欢霄枫芸菲寒伊亚宜可姬舒影荔枝思丽";
static String boyName = "伟刚勇毅俊峰强军平保东文辉力明永健世广志义兴良海山仁波宁贵福生龙元全国胜学祥才发武新利清飞彬富顺信子杰涛昌成康星光天达安岩中茂进林有坚和彪博诚先敬震振壮会思群豪心邦承乐绍功松善厚庆磊民友裕河哲江超浩亮政谦亨奇固之轮翰朗伯宏言若鸣朋斌梁栋维启克伦翔旭鹏泽晨辰士以建家致树炎德行时泰盛雄琛钧冠策腾楠榕风航弘";
/**
* 随机生成姓
* @return
*/
public static String getxing() {
String str = "";
int strLen;
int randNum = new Random().nextInt(2) + 1;
int index;
if (randNum == 1) {
strLen = familyName.length();
index = new Random().nextInt(strLen);
str = String.valueOf(familyName.charAt(index));
} else {
strLen = firstName2.length();
index = new Random().nextInt(strLen);
if (index % 2 == 0) {
str = firstName2.substring(index, index + 2);
} else {
str = firstName2.substring(index - 1, index + 1);
}
}
return str;
}
public static String getSex() {
int randNum = new Random().nextInt(2) + 1;
return randNum == 1 ? "男" : "女";
}
public static String getName(String sex) {
String name = "";
int randNum = new Random().nextInt(2) + 1;
int index;
if (sex.equals("男")) {
int strLen = boyName.length();
if (randNum % 2 == 0) {
index = new Random().nextInt(strLen - 1);
name = boyName.substring(index, index + randNum);
} else {
index = new Random().nextInt(strLen);
name = boyName.substring(index, index + randNum);
}
} else {
int strLen = girlName.length();
if (randNum % 2 == 0) {
index = new Random().nextInt(strLen - 1);
name = girlName.substring(index, index + randNum);
} else {
index = new Random().nextInt(strLen);
name = girlName.substring(index, index + randNum);
}
}
return name;
}
public static int getAge() {
return new Random().nextInt(4) + 18;
}
public static int getTall() {
return new Random().nextInt(50) + 140;
}
}
3.4 Result类(统一返回类)
package com.studentDemo.utils;
/**
* Result类(返回值)
*/
public class Result {
private int code;//操作结果代码。一般统一规定成功是200.失败是201
private String msg;//提示信息
private Object data;//结果数据
public Result() {
}
public Result(int code, String msg, Object data) {
this.code = code;
this.msg = msg;
this.data = data;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public Object getData() {
return data;
}
public void setData(Object data) {
this.data = data;
}
@Override
public String toString() {
return "Result{" +
"code=" + code +
", msg='" + msg + '\'' +
", data=" + data +
'}';
}
// 当接受到错误时进行error
public static Result error(int code, String msg) {
Result r = new Result();
r.setCode(code);
r.setMsg(msg);
r.setData(null);
return r;
}
//当接受到正确是进行success
public static Result success(int code, String msg, Object data) {
Result r = new Result();
r.setCode(code);
r.setMsg(msg);
r.setData(data);
return r;
}
}
3.5 StudentUtils(生成学生集合类)
package com.studentDemo.utils;
import com.studentDemo.entity.Student;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
public class StudentUtils {
public static List<Student> studentList(){
/**
* 这是一个产生学生列表的方法,返回值是一个包含若干学生对象的集合
* @return
*/
List<Student> list=new ArrayList<>();
for (int i = 0; i < 15; i++) {
Student s=new Student();
s.setHobby(new String[]{"篮球","游泳","体操","拳击","广场舞","棒球"});
s.setSex(NameUtils.getSex());//在这里设置了学生的性别
s.setName(NameUtils.getxing()+NameUtils.getName(s.getSex()));//在这里就可以取出性别
s.setTalll(NameUtils.getTall());
s.setWeight(i+50);
s.setStuId(i+10);
s.setNum(10010+i);
s.setClassId(s.getStuId()%2==0 ? "计算机2101班":"计算机2102班");
s.setEmail("45877@163.com");
s.setAddress("陕西省西安市雁塔区");
list.add(s);
}
return list;
}
public static Student student(){
/**
* 返回学生集合,生成出了名字以外的性质
*/
Student s=new Student();
s.setHobby(new String[]{"篮球","游泳","体操","拳击","广场舞","棒球"});
s.setSex(NameUtils.getSex());//在这里设置了学生的性别
s.setName(NameUtils.getxing()+NameUtils.getName(s.getSex()));//在这里就可以取出性别
s.setTalll(NameUtils.getTall());
s.setWeight(50);
s.setStuId(new Random().nextInt(50));
s.setNum(10010);
s.setClassId(s.getStuId()%2==0 ? "计算机2101班":"计算机2102班");
s.setAddress("陕西省汉中市汉台区陕西理工大学");
s.setEmail("45877@163.com");
return s;
}
}
3.6 UpdateUtils(更新类)
package com.studentDemo.utils;
import com.studentDemo.entity.Student;
import java.util.Scanner;
/**
* private int num;
* private String sex;
* private int talll;
* private int weight;
* private String[] hobby;
* private String email;
* private String address;
* private String classId;
*/
public class UpdateUtils {
static Scanner sc = new Scanner(System.in);
public static Boolean Update(Student stu){
Scanner sc = new Scanner(System.in);
Boolean flag = false;
System.out.print(Count.SelectWhat);
String what = sc.next();
switch (what){
case "姓名":
updateName(stu);
flag = true;
break;
case "学生编号":
updateNum(stu);
flag = true;
break;
case "性别":
updateSex(stu);
flag =true;
break;
case "身高":
updateTall(stu);
flag = true;
break;
case "体重":
updateWeight(stu);
flag = true;
break;
case "邮箱":
updateEmail(stu);
flag = true;
break;
case "地址":
updateAddress(stu);
flag = true;
break;
case "班级":
updateClassId(stu);
flag = true;
break;
case "爱好":
updateHobby(stu);
flag = true;
break;
default:
flag=false;
}
return flag;
}
private static void updateHobby(Student stu) {
System.out.print(Count.UpdateForHobby);
String hobby = sc.next();
String[] split = hobby.split(",");
stu.setHobby(split);
}
private static void updateClassId(Student stu) {
System.out.print(Count.UpdateForClassId);
String ClassId = sc.next();
stu.setName(ClassId);
}
private static void updateAddress(Student stu) {
System.out.print(Count.UpdateForAddress);
String address = sc.next();
stu.setName(address);
}
private static void updateEmail(Student stu) {
System.out.print(Count.UpdateForEmail);
String email = sc.next();
stu.setName(email);
}
private static void updateWeight(Student stu) {
System.out.print(Count.UpdateForWeight);
int weight = sc.nextInt();
stu.setWeight(weight);
}
public static void updateName(Student stu){
System.out.print(Count.UpdateForName);
String name = sc.next();
stu.setName(name);
}
public static void updateNum(Student stu){
System.out.print(Count.UpdateForNum);
int num = sc.nextInt();
stu.setNum(num);
}
public static void updateSex(Student stu){
System.out.print(Count.UpdateForSex);
String sex = sc .next();
stu.setSex(sex);
}
public static void updateTall(Student stu){
System.out.print(Count.UpdateForTall);
int tall = sc .nextInt();
stu.setTalll(tall);
}
}
4,主函数
package com.studentDemo;
import com.studentDemo.entity.Student;
import com.studentDemo.impl.StudentImpl;
import com.studentDemo.utils.AddUtils;
import com.studentDemo.utils.Count;
import com.studentDemo.utils.Result;
import com.studentDemo.utils.StudentUtils;
import java.util.List;
import java.util.Scanner;
/**
* 主函数
* 调用各种工具类,完成增删改查的操作
*/
public class Test {
static Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
StudentImpl studentimpl = new StudentImpl();
List<Student> students = StudentUtils.studentList();
Count.GongNeng();
System.out.print(Count.InputANumber);
int num = sc.nextInt();
if(num!=0){
while(num!=0){
switch (num){
case 1://增加学生
Result result = studentimpl.addStudent(students, AddUtils.AddStduent());
System.out.println(result.getMsg());
break;
case 2://删除学生
System.out.println(Count.InputStuId);
int id = sc.nextInt();
Result result1 = studentimpl.deleteStudentByStuId(id, students);
System.out.println(result1.getMsg());
break;
case 3://修改学生
System.out.println(Count.InputStuId);
int id2 = sc.nextInt();
Result result2 = studentimpl.UpdateStudentByStuId(id2, students);
System.out.println(result2.getMsg());
break;
case 4://查找学生
System.out.println(Count.InputStuId);
int id3 = sc.nextInt();
Result result3 = studentimpl.selectStudentByStuId(id3, students);
System.out.println(result3.getMsg());
break;
case 5://查找全部学生
Result result4 = studentimpl.SelectAllStudent(students);
System.out.println(result4.getMsg());
break;
default:
System.out.println(Count.fail);
}
System.out.println();
Count.GongNeng();
System.out.print(Count.InputANumber);
num = sc.nextInt();
}
}else{
Result exit = studentimpl.Exit();
System.out.println(exit.getMsg());
}
}
}