学生管理系统技术指标(学生管理系统java)

大家好,小问来为大家解答以上问题。学生管理系统技术指标,学生管理系统java这个很多人还不知道,现在让我们一起来看看吧!
1、内容较多,你先自己用一下,感受感受,请看实例:
2、User类:
3、public class User {
4、private int id;
5、private String name;
6、private String password;
7、private Course[] courses;
8、private int role; //0老师,1学生
9、public int total(){
10、int total=0;
11、if(role==1 && courses!=null){
12、for(Course c:courses){
13、total+=c.getScore();
14、}
15、}
16、return total;
17、}
18、public String toString(String courseName){
19、if(courses==null){
20、return "编号:"+id+"姓名"+name;
21、}else if(courses!=null && new Config().notEmpty(courseName)){
22、for(Course c:courses){
23、if(courseName.equals(c.getName())){
24、return "编号:"+id+"姓名:"+name+""+courseName+c.getScore();
25、}
26、}
27、}else{
28、return "编号:"+id+"姓名:"+name+"总分"+total();
29、}
30、return "";
31、}
32、//有参和无参构造方法不再赘述
33、}
34、Course门课:
35、public class Course {
36、private String name;
37、private int score;
38、//getter和setter及有参、无参构造方法不再赘述
39、}
40、Config类:
41、public class Config {
42、private User[] users;
43、public Config(){}
44、public Config(User[] users){
45、this.users=users;
46、}
47、public User[] getUsers() {
48、return users;
49、}
50、public void setUsers(User[] users) {
51、this.users = users;
52、}
53、//查询数组内有无空元素
54、public boolean cheakHasNull(){
55、for(User u:users){
56、if(u==null){
57、return true;
58、}
59、}
60、return false;
61、}
62、//输入字符串
63、public String inputString(Scanner sc,String attr){
64、String str="";
65、do{
66、System.out.println("请输入"+attr);
67、str=sc.next();
68、if(!notEmpty(str)){
69、System.out.println(attr+"不为空,请重新输入");
70、}
71、}while(!notEmpty(str));
72、return str;
73、}
74、//输入整数
75、public int inputInt(Scanner sc,String attr){
76、int sum=0;
77、do{
78、System.out.println("请输入"+attr);
79、sum=sc.nextInt();
80、if(sum==0){
81、System.out.println(attr+"不为空,请重新输入");
82、}
83、}while(sum==0);
84、return sum;
85、}
86、//筛选出所有学生
87、public User[] cheakStudents(){
88、List<User>userList=new ArrayList<User>();
89、for(User u:users){
90、if(u!=null && u.getRole()==1){
91、userList.add(u);
92、}
93、}
94、int len=userList.size();
95、User[] result=new User[len];
96、for(int i=0;i<len;i++){
97、result[i]=userList.get(i);
98、}
99、return result;
100、}
101、//查询有无重复id
102、public boolean cheakRepeat(int id){
103、for(User u:users){
104、if(u!=null && id==u.getId()){
105、return true;
106、}
107、}
108、return false;
109、}
110、//打印数组信息
111、public void print(String courseName){
112、if(notEmpty(courseName)){
113、for(int i=0;i<users.length;i++){
114、if(users[i]!=null && users[i].getRole()==1){
115、System.out.println("第"+i+"名:"+users[i].toString(courseName));
116、}
117、}
118、}else{
119、for(int i=0;i<users.length;i++){
120、if(users[i]!=null && users[i].getRole()==1){
121、System.out.println("第"+i+"名:"+users[i].toString(null));
122、}
123、}
124、}
125、}
126、//字符串非空验证
127、public boolean notEmpty(String str){
128、return str!=null && !"".equals(str);
129、}
130、//登录验证
131、public User login(String name,String password){
132、if(users!=null && notEmpty(name) && notEmpty(password)){
133、for(User u:users){
134、if(u!=null && name.equals(u.getName()) && password.equals(u.getPassword())){
135、return u;
136、}
137、}
138、}
139、return null;
140、}
141、//寻找指定id的学生信息
142、public User find(int id){
143、for(User u:users){
144、if(u!=null && id==u.getId()){
145、return u;
146、}
147、}
148、return null;
149、}
150、//增加
151、public boolean add(User user){
152、for(int i=0;i<users.length;i++){
153、if(users[i]==null){
154、users[i]=user;
155、return true;
156、}
157、}
158、return false;
159、}
160、//修改
161、public boolean update(User user){
162、for(User u:users){
163、if(user.getId()==u.getId()){
164、u=user;
165、return true;
166、}
167、}
168、return false;
169、}
170、//删除
171、public boolean remove(int id){
172、int index=-1;
173、for(int i=0;i<users.length;i++){
174、if(id==users[i].getId()){
175、index=i;
176、}
177、}
178、if(index==-1){
179、return false;
180、}
181、for(int i=index;i<users.length-1;i++){
182、users[i]=users[i+1];
183、}
184、users[users.length-1]=null;
185、return true;
186、}
187、//排序
188、public void sort(){
189、if(users!=null){
190、for(int i=0;i<users.length;i++){
191、for(int j=i+1;j<users.length;j++){
192、if(users[i]!=null && users[j]!=null && users[i].total()<users[j].total()){
193、User temp=users[i];
194、users[i]=users[j];
195、users[j]=temp;
196、}
197、}
198、}
199、}
200、}
201、//按门课排序
202、public void sort(String courseNum){
203、if(users!=null){
204、for(int i=0;i<users.length;i++){
205、for(int j=i+1;j<users.length;j++){
206、if(users[i]!=null && users[j]!=null && users[i].total()<users[j].total()){
207、User temp=users[i];
208、users[i]=users[j];
209、users[j]=temp;
210、}
211、}
212、}
213、}
214、}
215、}
216、public class Manager {
217、private User[] users;
218、public Manager(User[] users){
219、this.users=users;
220、}
221、public void doManager(){
222、try{
223、Scanner sc=new Scanner(System.in);
224、Config config=new Config(users);
225、int choose1=0;
226、for(;choose1!=3;){
227、System.out.println("欢迎来到学生管理系统登录注册退出");
228、choose1=sc.nextInt();
229、if(choose1==1){
230、User loginUser=null;
231、String loginName="";
232、for(;loginUser==null || !"exit".equals(loginName);){
233、System.out.println("请输入用户名或输入exit退出");
234、loginName=sc.next();
235、if(loginName.equals("exit")){
236、break;
237、}
238、System.out.println("请输入密码");
239、String loginPassword=sc.next();
240、loginUser=config.login(loginName, loginPassword);
241、if(loginUser!=null && loginUser.getRole()==1){
242、System.out.println("你好,学生"+loginUser.getName());
243、int choose2=0;
244、do{
245、System.out.println("查询个人信息修改个人信息排行榜退出");
246、choose2=sc.nextInt();
247、if(choose2==1){
248、System.out.println("请输入编号");
249、int id=sc.nextInt();
250、User search=config.find(id);
251、if(search!=null){
252、System.out.println(search.toString(null));
253、}else{
254、System.out.println("查无此人");
255、}
256、}else if(choose2==2){
257、System.out.println("请输入编号");
258、int id=sc.nextInt();
259、User search=config.find(id);
260、if(search!=null){
261、System.out.println(search.toString(null)+"请选择要修改的内容姓名密码");
262、int choose3=sc.nextInt();
263、if(choose3==1){
264、System.out.println("输入新的用户名");
265、String newName=sc.next();
266、search.setName(newName);
267、}else if(choose3==2){
268、String newPassword=sc.next();
269、search.setPassword(newPassword);
270、}
271、System.out.println(config.update(search)?"修改成功":"修改失败");
272、}else{
273、System.out.println("查无此人");
274、}
275、}else if(choose2==3){
276、System.out.println("总分排行单门排行");
277、int choose6=sc.nextInt();
278、users=config.cheakStudents();
279、if(choose6==1){
280、config.sort();
281、config.print(null);
282、}else if(choose6==2){
283、String courseNum=config.inputString(sc, "科目");
284、config.sort(courseNum);
285、config.print(courseNum);
286、}
287、}
288、}while(choose2!=4);
289、}else if(loginUser!=null && loginUser.getRole()==0){
290、int choose4=0;
291、System.out.println("你好,管理员"+loginUser.getName());
292、do{
293、System.out.println("添加修改删除查询排行榜退出");
294、choose4=sc.nextInt();
295、if(choose4==1){
296、if(config.cheakHasNull()){
297、System.out.println("请输入编号,输入0退出");
298、int id=0;
299、boolean flag=false;
300、do{
301、id=sc.nextInt();
302、if(id==0){
303、break;
304、}
305、flag=config.cheakRepeat(id);
306、if(flag){
307、System.out.println("编号重复,请重新输入");
308、}
309、}while(flag);
310、String name=config.inputString(sc, "用户名");
311、String password=config.inputString(sc, "密码");
312、int role=config.inputInt(sc, "角色");
313、User user=new User(id,name,password,role,null);
314、config.add(user);
315、}else{
316、System.out.println("名额已满");
317、}
318、}else if(choose4==2){
319、System.out.println("请输入编号");
320、int id=sc.nextInt();
321、User search=config.find(id);
322、if(search!=null){
323、if(search.getRole()==1){
324、int choose5=0;
325、do{
326、System.out.println(search.toString(null)+"请选择要修改的内容姓名密码成绩退回");
327、choose5=sc.nextInt();
328、if(choose5==1){
329、String name=config.inputString(sc, "用户名");
330、search.setName(name);
331、}else if(choose5==2){
332、String password=config.inputString(sc, "密码");
333、search.setPassword(password);
334、}else if(choose5==3){
335、System.out.println("一共几门课?");
336、int len=sc.nextInt();
337、Course[] courses=new Course[len];
338、for(int i=0;i<len;i++){
339、String name=config.inputString(sc, "科目");
340、int score=config.inputInt(sc, "分数");
341、courses[i]=new Course(name,score);
342、}
343、search.setCourses(courses);
344、}
345、}while(choose5!=4);
346、}
347、}else{
348、System.out.println("查无此人");
349、}
350、}else if(choose4==3){
351、System.out.println("请输入编号");
352、int id=sc.nextInt();
353、boolean result=config.remove(id);
354、System.out.println(result?"成功删除":"查无此人");
355、}else if(choose4==4){
356、System.out.println("请输入编号");
357、int id=sc.nextInt();
358、User user=config.find(id);
359、System.out.println(user==null?"查无此人":user.toString(null));
360、}else if(choose4==5){
361、System.out.println("总分排行单门排行");
362、int choose6=sc.nextInt();
363、users=config.cheakStudents();
364、if(choose6==1){
365、config.sort();
366、config.print(null);
367、}else if(choose6==2){
368、String courseNum=config.inputString(sc, "科目");
369、config.sort(courseNum);
370、config.print(courseNum);
371、}
372、}
373、}while(choose4!=6);
374、}else{
375、System.out.println("登录失败,用户名或密码错误");
376、}
377、}
378、}else if(choose1==2){
379、if(config.cheakHasNull()){
380、System.out.println("请输入编号");
381、int id=0;
382、do{
383、id=config.inputInt(sc, "id");
384、if(config.cheakRepeat(id)){
385、System.out.println("编号已被注册,请重新输入");
386、}
387、}while(config.cheakRepeat(id));
388、String name=config.inputString(sc, "姓名");
389、String password=config.inputString(sc, "密码");
390、int role=config.inputInt(sc, "角色");
391、User newUser=new User(id,name,password,role,null);
392、boolean result=config.add(newUser);
393、System.out.println(result?"添加成功":"添加失败");
394、}else{
395、System.out.println("名额已满");
396、}
397、}else{
398、System.out.println("正在退出...");
399、};
400、};
401、}catch(InputMismatchException e){
402、System.out.println("您的输入有误,回主界面");
403、doManager();
404、}
405、}
406、}
407、测试:
408、Manager manager=new Manager(Data.getData());
409、manager.doManager();
410、部分效果图:
411、由于有字数限制,设置初始数据的Data类和部分代码只能省略,需要完整项目的话请留言。
以上就是【学生管理系统技术指标,学生管理系统java】相关内容。

