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