Java實現(xiàn)學(xué)生信息管理系統(tǒng)(借助Array?List)
本文實例為大家分享了vue + element ui實現(xiàn)錨點定位的具體代碼,供大家參考,具體內(nèi)容如下
需求: 制作一個簡單的學(xué)生信息管理系統(tǒng)
1、通過鍵盤選擇操作進行添加學(xué)生(學(xué)號,姓名,性別,年齡,成績)的信息,這些信息通過數(shù)組存儲。
2、同時還可以進行:
(1)查詢某個或全體學(xué)生信息;
(2)修改學(xué)生信息;
(3)刪除學(xué)生信息的操作。
要求:有一定的優(yōu)化,例如對用戶輸入信息是否符合要求的處理。
1.首先對學(xué)生的 學(xué)號,姓名,性別,年齡,成績這五個信息進行定義,為了不讓所有人都能訪問到,所以權(quán)限都定義為private,通過getter、setter方法進行訪問:
/** ?*? ?* 設(shè)置學(xué)生信息 ?*? ?* @author Incentancy ?* ?*/ public class Student { ?? ?private String stuName;? ?? ?? ?private String stuNo;? ?? ?? ?private String gender;? ?? ?? ?private int age;? ?? ?? ?private int score; ? ?? ?public String getStuName() { ?? ??? ?return stuName; ?? ?} ? ?? ?public void setStuName(String stuName) { ?? ??? ?this.stuName = stuName; ?? ?} ? ?? ?public String getStuNo() { ?? ??? ?return stuNo; ?? ?} ? ?? ?public void setStuNo(String stuNo) { ?? ??? ?this.stuNo = stuNo; ?? ?} ? ?? ?public String getGender() { ?? ??? ?return gender; ?? ?} ? ?? ?public void setGender(String gender) { ?? ??? ?this.gender = gender; ?? ?} ? ?? ?public int getAge() { ?? ??? ?return age; ?? ?} ? ?? ?public void setAge(int age) { ?? ??? ?this.age = age; ?? ?} ? ?? ?public int getScore() { ?? ??? ?return score; ?? ?} ? ?? ?public void setScore(int score) { ?? ??? ?this.score = score; ?? ?} ?? ? }
2.然后在一個新類中添加對學(xué)生信息的增刪改查操作,并且要求能對用戶輸入的數(shù)據(jù)進行初步的判斷:
import java.util.ArrayList; import java.util.Scanner; ? import com.xt.eleventhHW.stu.Student; ? public class StuData {? ? ?? ??? ?private ArrayList? ?? ? ? ? stus = new ArrayList ? ? ? ? ? ? (); ?? ??? ? ?? ??? ?//static int index = 0;? ? ? ?? ?? ??? ?Scanner scanner = new Scanner(System.in); ? ? ? ??? ?? ??? ?/** ?? ??? ? * 增加學(xué)生信息 ?? ??? ? * @param stu ?? ??? ? */ ?? ??? ?public void addStu(Student stu){?? ??? ? ?? ??? ??? ?stus.add(stu); ?? ??? ?} ?? ??? ? ?? ??? ?//輸入學(xué)生信息 ?? ??? ?public void append(){ ?? ??? ??? ??Student stu = new Student(); ?? ??? ??? ? ?? ??? ??? ?/** ?? ??? ??? ? * 通過封裝方法,將學(xué)生信息賦給stus ?? ??? ??? ? */ ?? ??? ??? ?stu.setStuName(name());? ? ? ? ? ?? ?? ??? ??? ?stu.setStuNo(stuNum());? ? ? ? ? ?? ?? ??? ??? ?stu.setGender(gender());? ? ? ? ? ?? ?? ??? ??? ?stu.setAge(age());? ? ? ? ? ?? ? ? ? ? ? ? stu.setScore(score());? ? ? ? ? ?? ?? ??? ??? ?//將stu中的信息增添到stus中 ?? ??? ??? ?addStu(stu); ?? ??? ??? ? ?? ??? ??? ?System.out.println("學(xué)生信息已添加!"); ?? ??? ??? ?System.out.println(); ?? ??? ?} ?? ??? ? ?? ??? ? ?? ??? ?//得到學(xué)生姓名 ?? ??? ?public String name(){? ? ? ? ? ?? ?? ??? ??? ?String name;? ? ? ? ? ?? ?? ??? ??? ?System.out.println("請輸入學(xué)生的姓名:"); ?? ??? ??? ?name = scanner.next();? ? ? ? ? ?? ?? ??? ??? ?return name; ?? ??? ?} ?? ??? ? ?? ??? ? ?? ??? ?//得到學(xué)生學(xué)號 ?? ??? ?public String stuNum(){ ?? ??? ??? ? ?? ??? ??? ?String stuNum; ?? ??? ??? ? ?? ??? ??? ?System.out.println("請輸入學(xué)生的學(xué)號:"); ?? ??? ??? ?stuNum = scanner.next();? ? ? ? ? ? ?? ??? ??? ? ?? ??? ??? ?//如果學(xué)號不為11位,則重新輸入,直到學(xué)號正確 ?? ??? ??? ?if(stuNum.length() != 11){ ?? ??? ??? ??? ?System.out.println("您輸入的學(xué)號有誤!請重新輸入!"); ?? ??? ??? ??? ?stuNum();?? ? ?? ??? ??? ?} ?? ??? ??? ??? ??? ? ?? ??? ??? ?//如果學(xué)號已存在,則重新輸入,直到不存在 ?? ??? ??? ?for(int i = 0; i < stus.size(); i++){ ?? ??? ??? ??? ?if(stuNum.equals(stus.get(i).getStuNo())){ ?? ??? ??? ??? ??? ?System.out.println("該學(xué)號已存在!請重新輸入!"); ?? ??? ??? ??? ??? ?stuNum(); ?? ??? ??? ??? ??? ?break; ?? ??? ??? ??? ?} ?? ??? ??? ?} ?? ??? ??? ? ?? ??? ??? ?return stuNum; ?? ??? ?} ?? ??? ? ?? ??? ?//得到學(xué)生的性別 ?? ??? ?public String gender(){ ?? ??? ??? ? ?? ??? ??? ?String stuGender; ?? ??? ??? ? ?? ??? ??? ?System.out.println("請輸入學(xué)生的性別:"); ?? ??? ??? ?stuGender = scanner.next(); ?? ??? ??? ? ?? ??? ??? ?if(!stuGender.equals("男") && !stuGender.equals("女") ){ ?? ??? ??? ??? ?System.out.println("您輸入的學(xué)生性別有誤!請重新輸入!"); ?? ??? ??? ??? ?gender(); ?? ??? ??? ?} ?? ??? ??? ? ?? ??? ??? ?return stuGender; ?? ??? ?} ?? ??? ? ?? ??? ?//得到學(xué)生的年齡 ?? ??? ?public int age(){ ?? ??? ??? ? ?? ??? ??? ?int stuAge; ?? ??? ??? ? ?? ??? ??? ?System.out.println("請輸入學(xué)生的年齡:"); ?? ??? ??? ?stuAge = scanner.nextInt(); ?? ??? ??? ? ?? ??? ??? ?if(stuAge < 0 || stuAge >= ?80){ ?? ??? ??? ??? ?System.out.println("您輸入的年齡有誤!請重新輸入!"); ?? ??? ??? ??? ?age(); ?? ??? ??? ?} ?? ??? ??? ? ?? ??? ??? ?return stuAge; ?? ??? ?} ?? ??? ? ?? ??? ?//得到學(xué)生的成績 ?? ??? ?public int score(){ ?? ??? ??? ?int stuScore; ?? ??? ??? ? ?? ??? ??? ?System.out.println("請輸入學(xué)生的成績:"); ?? ??? ??? ?stuScore = scanner.nextInt(); ?? ??? ??? ? ?? ??? ??? ?if(stuScore < 0 || stuScore > 100){ ?? ??? ??? ??? ?System.out.println("您輸入的成績有誤!請重新輸入!"); ?? ??? ??? ??? ?score(); ?? ??? ??? ?} ?? ??? ??? ? ?? ??? ??? ?return stuScore; ?? ??? ?} ?? ??? ? ?? ??? ? ?? ??? ?/** ?? ??? ? *? ?? ??? ? * 刪除學(xué)生信息 ?? ??? ? *? ?? ??? ? * @param stuNo ?? ??? ? */ ?? ??? ?public void delStu(){ ?? ??? ??? ? ?? ??? ??? ?System.out.println("請輸入您想刪除的學(xué)號:"); ?? ??? ??? ?String stuNo = scanner.next(); ?? ??? ??? ? ?? ??? ??? ?boolean isDel = false; ?? ??? ??? ? ?? ??? ??? ?for(int i = 0; i < stus.size(); i++){ ?? ??? ??? ??? ?if(stuNo.equals(stus.get(i).getStuNo())){ ?? ??? ??? ??? ??? ?isDel = true; ?? ??? ??? ??? ??? ?stus.remove(i); ?? ??? ??? ??? ??? ?break; ?? ??? ??? ??? ?} ?? ??? ??? ?} ?? ??? ??? ? ?? ??? ??? ?if(isDel){ ?? ??? ??? ??? ?System.out.println("刪除操作已完成!"); ?? ??? ??? ?}else{ ?? ??? ??? ??? ?System.out.println("無此學(xué)生信息!"); ?? ??? ??? ?} ?? ??? ?} ?? ??? ? ?? ??? ? ?? ??? ?/** ?? ??? ? * 修改學(xué)生信息: ?? ??? ? * 1.姓名 ?? ??? ? * 2.學(xué)號 ?? ??? ? * 3.性別 ?? ??? ? * 4.年齡 ?? ??? ? * 5.成績 ?? ??? ? * @param stu ?? ??? ? */ ?? ??? ?public void updateStu(String stuNo){ ?? ??? ??? ? ?? ??? ??? ?boolean flag = false; ?? ??? ??? ? ?? ??? ??? ?for(int i = 0; i < stus.size(); i ++){ ?? ??? ??? ??? ?if(stuNo.equals(stus.get(i).getStuNo())){ ?? ??? ??? ??? ??? ? ?? ??? ??? ??? ??? ?flag = true; ?? ??? ??? ??? ??? ? ?? ??? ??? ??? ??? ?information(); ?? ??? ??? ??? ??? ? ?? ??? ??? ??? ??? ?switch(scanner.nextInt()){ ?? ??? ??? ??? ??? ??? ?case 1: ?? ??? ??? ??? ??? ??? ??? ?String name = name(); ?? ??? ??? ??? ??? ??? ??? ?stus.get(i).setStuName(name);; ?? ??? ??? ??? ??? ??? ??? ?break; ?? ??? ??? ??? ??? ??? ?case 2: ?? ??? ??? ??? ??? ??? ??? ?String stuNum = stuNum(); ?? ??? ??? ??? ??? ??? ??? ?stus.get(i).setStuNo(stuNum); ?? ??? ??? ??? ??? ??? ??? ?break; ?? ??? ??? ??? ??? ??? ?case 3: ?? ??? ??? ??? ??? ??? ??? ?String gender = gender(); ?? ??? ??? ??? ??? ??? ??? ?stus.get(i).setGender(gender); ?? ??? ??? ??? ??? ??? ??? ?break; ?? ??? ??? ??? ??? ??? ?case 4: ?? ??? ??? ??? ??? ??? ??? ?int age = age(); ?? ??? ??? ??? ??? ??? ??? ?stus.get(i).setAge(age); ?? ??? ??? ??? ??? ??? ??? ?break; ?? ??? ??? ??? ??? ??? ?case 5: ?? ??? ??? ??? ??? ??? ??? ?int score = score(); ?? ??? ??? ??? ??? ??? ??? ?stus.get(i).setScore(score); ?? ??? ??? ??? ??? ??? ??? ?break; ?? ??? ??? ??? ??? ??? ?case 0: ?? ??? ??? ??? ??? ??? ??? ?System.exit(0); ?? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ? ?? ??? ??? ??? ??? ?break; ?? ??? ??? ??? ?} ?? ??? ??? ??? ? ?? ??? ??? ??? ?if(!flag) ?? ??? ??? ??? ??? ?System.out.println("您輸入的學(xué)號不存在!"); ?? ??? ??? ?} ?? ??? ?} ?? ??? ? ?? ??? ?public void information(){ ?? ??? ??? ?System.out.println("請選擇您要修改的信息:"); ?? ??? ??? ?System.out.println("1.姓名"); ?? ??? ??? ?System.out.println("2.學(xué)號"); ?? ??? ??? ?System.out.println("3.性別"); ?? ??? ??? ?System.out.println("4.年齡"); ?? ??? ??? ?System.out.println("5.成績"); ?? ??? ??? ?System.out.println("0.退出"); ?? ??? ??? ?System.out.println("請輸入序號:"); ?? ??? ?} ?? ??? ?/** ?? ??? ? * 根據(jù)學(xué)號查詢學(xué)生信息 ?? ??? ? * 如果存在,輸出學(xué)生信息 ?? ??? ? * @param stuNo ?? ??? ? */ ?? ??? ?public void queryStuByStuNo(String stuNo){ ?? ??? ??? ? ?? ??? ??? ?boolean flag = false; ?? ??? ??? ? ?? ??? ??? ?for(int i = 0; i < stus.size(); i ++){ ?? ??? ??? ??? ?if(stuNo.equals(stus.get(i).getStuNo())){ ?? ??? ??? ??? ??? ?System.out.println("姓名:" + stus.get(i).getStuName()); ?? ??? ??? ??? ??? ?System.out.println("學(xué)號:" + stus.get(i).getStuNo()); ?? ??? ??? ??? ??? ?System.out.println("性別:" + stus.get(i).getGender()); ?? ??? ??? ??? ??? ?System.out.println("年齡:" + stus.get(i).getAge()); ?? ??? ??? ??? ??? ?System.out.println("成績:" + stus.get(i).getScore()); ?? ??? ??? ??? ??? ? ?? ??? ??? ??? ??? ?System.out.println("+---------------+-------------------------------+---------------+---------------+---------------+"); ?? ??? ??? ??? ??? ?System.out.println("|\t姓名\t|\t\t學(xué)號\t\t|\t性別\t|\t年齡\t|\t成績\t|"); ?? ??? ??? ??? ??? ?System.out.println("+---------------+-------------------------------+---------------+---------------+---------------+"); ?? ??? ??? ??? ??? ?System.out.println("|\t" + stus.get(i).getStuName() + "\t|\t ? ?" + stus.get(i).getStuNo() + " ? ? \t|\t" + stus.get(i).getGender() +? ?? ??? ??? ??? ??? ??? ??? ?"\t|\t" ?+ stus.get(i).getAge() + "\t|\t" + stus.get(i).getScore() + "\t|"); ?? ??? ??? ??? ??? ?System.out.println("+---------------+-------------------------------+---------------+---------------+---------------+"); ?? ??? ??? ??? ??? ? ?? ??? ??? ??? ??? ?flag = true; ?? ??? ??? ??? ?} ?? ??? ??? ?} ?? ??? ??? ? ?? ??? ??? ?if(!flag) ?? ??? ??? ??? ?System.out.println("該學(xué)號不存在!"); ?? ??? ?} }
3.再新建一個類,將這個類作為操作菜單,通過用戶輸入的數(shù)字調(diào)用之前的增刪改查操作:
import java.util.Scanner; ? public class SystemService { ?? ? ?? ?Scanner scanner = new Scanner(System.in); ?? ? ?? ? ?? ?public void bulletin(){ ?? ??? ?System.out.println("1.添加學(xué)生信息"); ?? ??? ?System.out.println("2.刪除學(xué)生信息"); ?? ??? ?System.out.println("3.修改學(xué)生信息"); ?? ??? ?System.out.println("4.查詢學(xué)生信息"); ?? ??? ?System.out.println("0.退出系統(tǒng)"); ?? ??? ? ?? ??? ?System.out.println("請輸入序號:"); ?? ?} ?? ? ?? ?public void serviceChoose(){ ?? ??? ? ?? ??? ?StuData sd = new StuData(); ?? ??? ? ?? ??? ?System.out.println("-----歡迎使用學(xué)生信息管理系統(tǒng)-----"); ?? ??? ? ?? ??? ?while(true){ ?? ??? ??? ? ?? ??? ??? ?bulletin(); ?? ??? ??? ? ?? ??? ??? ?switch(scanner.nextInt()){ ?? ??? ??? ??? ? ?? ??? ??? ??? ?case 1: ?? ??? ??? ??? ??? ?sd.append(); ?? ??? ??? ??? ??? ?System.out.println(); ?? ??? ??? ??? ??? ?break; ?? ??? ??? ??? ?case 2: ?? ??? ??? ??? ??? ?sd.delStu(); ?? ??? ??? ??? ??? ?System.out.println(); ?? ??? ??? ??? ??? ?break; ?? ??? ??? ??? ?case 3: ?? ??? ??? ??? ??? ?System.out.println("請輸入要修改的學(xué)生的學(xué)號:"); ?? ??? ??? ??? ??? ?sd.updateStu(scanner.next()); ?? ??? ??? ??? ??? ?System.out.println(); ?? ??? ??? ??? ??? ?break; ?? ??? ??? ??? ?case 4: ?? ??? ??? ??? ??? ?System.out.println("請輸入要查詢的學(xué)生的學(xué)號:"); ?? ??? ??? ??? ??? ?sd.queryStuByStuNo(scanner.next()); ?? ??? ??? ??? ??? ?System.out.println(); ?? ??? ??? ??? ??? ?break; ?? ??? ??? ??? ?case 0: ?? ??? ??? ??? ??? ?System.exit(0);//退出系統(tǒng) ?? ??? ??? ?} ?? ??? ?} ?? ?} }
4.最后寫上主方法,就可以進行使用
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Java實現(xiàn)學(xué)生管理系統(tǒng)(IO版)
- java實現(xiàn)簡單學(xué)生成績管理系統(tǒng)
- JavaSwing實現(xiàn)小型學(xué)生管理系統(tǒng)
- java實現(xiàn)簡單的學(xué)生管理系統(tǒng)
- Java實現(xiàn)學(xué)生信息管理系統(tǒng)(使用數(shù)據(jù)庫)
- Java+Mysql學(xué)生管理系統(tǒng)源碼
- javaWeb實現(xiàn)學(xué)生信息管理系統(tǒng)
- java實現(xiàn)學(xué)生教師管理系統(tǒng)
- Java基于MySQL實現(xiàn)學(xué)生管理系統(tǒng)
- Java實現(xiàn)簡單的學(xué)生教師管理系統(tǒng)
相關(guān)文章
KotlinScript構(gòu)建SpringBootStarter保姆級教程
這篇文章主要為大家介紹了KotlinScript構(gòu)建SpringBootStarter的保姆級教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-09-09如何在mapper文件中使用in("str1","str2")
這篇文章主要介紹了如何在mapper文件中使用in("str1","str2"),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-01-01MyBatis-Plus標(biāo)簽@TableField之fill自動填充方式
這篇文章主要介紹了MyBatis-Plus標(biāo)簽@TableField之fill自動填充方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-06-06