java控制臺(tái)實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)
簡(jiǎn)介
最近學(xué)了java基礎(chǔ)后對(duì)以前不會(huì)寫(xiě)的作業(yè)深有感觸,想起以前各種在網(wǎng)上找資料找別人的代碼參考,所以今天特地寫(xiě)了了簡(jiǎn)單的基于控制臺(tái)的學(xué)生信息管理系統(tǒng)供還在學(xué)基礎(chǔ)的同學(xué)參考,寫(xiě)的有問(wèn)題的地方也希望能指出來(lái),好了,下面開(kāi)始進(jìn)入正題。
環(huán)境
我使用的是idea編譯器和1.8的jdk版本,有使用1.7以下jdk版本的同學(xué)運(yùn)行會(huì)報(bào)錯(cuò),解決方法是把ArrayLis<Student> arrayList=new Array<>();改成 ArrayLis<Student> arrayList=new Array<Student>(),下面開(kāi)始講解學(xué)生信息管理系統(tǒng)的實(shí)現(xiàn)過(guò)程。
系統(tǒng)分析
學(xué)生信息管理系統(tǒng)主要是實(shí)現(xiàn)讓老師登入賬號(hào)(賬號(hào)和密碼我設(shè)置的都是“123”,你們也可以改成其他的字符串)后可以對(duì)學(xué)生進(jìn)行增刪改查的操作和查看所有學(xué)生的信息,所以我各自定義了一個(gè)方法來(lái)實(shí)現(xiàn)它的功能。
代碼實(shí)現(xiàn)
首先定義一個(gè)學(xué)生類Student.java,關(guān)于toString是重寫(xiě)了父類也就是Object的方法,是用于方便查看結(jié)果的,學(xué)生的屬性可以按需求添加多個(gè),這里我為了方便只寫(xiě)了四個(gè)。
public class Student { ? ? //學(xué)號(hào) ? ? private int ?sno; ? ? //姓名 ? ? private String ?name; ? ? //性別 ? ? private String xes; ? ? //年齡 ? ? private int age; //創(chuàng)建get/set方法 ? ? public int getSno() { ? ? ? ? return sno; ? ? } ? ? ? public void setSno(int sno) { ? ? ? ? this.sno = sno; ? ? } ? ? ? public String getName() { ? ? ? ? return name; ? ? } ? ? ? public void setName(String name) { ? ? ? ? this.name = name; ? ? } ? ? ? public String getXes() { ? ? ? ? return xes; ? ? } ? ? ? public void setXes(String xes) { ? ? ? ? this.xes = xes; ? ? } ? ? ? public int getAge() { ? ? ? ? return age; ? ? } ? ? ? public void setAge(int age) { ? ? ? ? this.age = age; ? ? } //重寫(xiě)toString方法方便打印 ? ? @Override ? ? public String toString() { ? ? ? ? return "Student{" + ? ? ? ? ? ? ? ? "sno=" + sno + ? ? ? ? ? ? ? ? ", name='" + name + '\'' + ? ? ? ? ? ? ? ? ", xes='" + xes + '\'' + ? ? ? ? ? ? ? ? ", age=" + age + ? ? ? ? ? ? ? ? '}'; ? ? } }
然后定義一個(gè)結(jié)構(gòu)類Structure.java,把需要實(shí)現(xiàn)的功能方法寫(xiě)出來(lái)。
import java.util.ArrayList; import java.util.Scanner; ? /** ?* 老師進(jìn)行登錄操作后(老師的賬號(hào)密碼固定為123) ?* 才能對(duì)學(xué)生進(jìn)行增刪改查 ?*/ public class Structure { ? ? //用來(lái)給學(xué)生學(xué)號(hào)賦值自增 ? ? static int i=1; ? ? //創(chuàng)建ArrayList集合對(duì)象用來(lái)存放學(xué)生對(duì)象 ? ? ArrayList<Student> arrayList=new ArrayList<>(); ? ? Scanner scanner=new Scanner(System.in); ? ? public void enter(){ ? ? ? ? System.out.print("請(qǐng)輸入用戶名:"); ? ? ? ? if (scanner.next().equals("123")){ ? ? ? ? ? ? System.out.print("請(qǐng)輸入密碼:"); ? ? ? ? ? ? if (scanner.next().equals("123")){ ? ? ? ? ? ? ? ? System.out.println("登錄成功!"); ? ? ? ? ? ? }else{ ? ? ? ? ? ? ? ? System.out.println("密碼錯(cuò)誤!請(qǐng)重新登入"); ? ? ? ? ? ? ? ? enter(); ? ? ? ? ? ? } ? ? ? ? }else { ? ? ? ? ? ? System.out.println("用戶名錯(cuò)誤!請(qǐng)重新登入"); ? ? ? ? ? ? enter(); ? ? ? ? } ? ? } ? ? //增加學(xué)生信息 ? ? public void add(){ ? ? ? ? //創(chuàng)建學(xué)生對(duì)象 ? ? ? ? Student student=new Student(); ? ? ? ? //System.out.print("學(xué)生ID自增"); ? ? ? ? student.setSno(i); ? ? ? ? System.out.print("學(xué)生姓名:"); ? ? ? ? student.setName(scanner.next()); ? ? ? ? System.out.print("性別:"); ? ? ? ? student.setXes(scanner.next()); ? ? ? ? System.out.print("年齡:"); ? ? ? ? student.setAge(scanner.nextInt()); ? ? ? ? //把學(xué)生對(duì)象存入集合中 ? ? ? ? arrayList.add(student); ? ? ? ? i++; ? ? } ? ? //查看所有學(xué)生信息 ? ? public void print(){ ? ? ? ? if (arrayList.size()==0){ ? ? ? ? ? ? System.out.println("沒(méi)有學(xué)生?。?!"); ? ? ? ? }else { ? ? ? ? ? ? //使用增強(qiáng)for循環(huán)遍歷集合 ? ? ? ? ? ? for (Student student:arrayList){ ? ? ? ? ? ? ? ? System.out.println(student.toString()); ? ? ? ? ? ? } ? ? ? ? } ? ? } ? ? //通過(guò)學(xué)號(hào)查找指定的學(xué)生信息 ? ? public void inquiry(){ ? ? ? ? if (arrayList.size()==0){ ? ? ? ? ? ? System.out.println("沒(méi)有學(xué)生?。?!"); ? ? ? ? }else { ? ? ? ? ? ? System.out.print("請(qǐng)輸入想要查找的學(xué)生的學(xué)號(hào):"); ? ? ? ? ? ? for (Student student:arrayList){ ? ? ? ? ? ? ? ? if (student.getSno()==scanner.nextInt()){ ? ? ? ? ? ? ? ? ? ? System.out.println(student.toString()); ? ? ? ? ? ? ? ? } ? ? ? ? ? ? } ? ? ? ? } ? ? } ? ? //刪除指定學(xué)生的信息 ? ? public void delete(){ ? ? ? ? if (arrayList.size()==0){ ? ? ? ? ? ? System.out.println("沒(méi)有學(xué)生!?。?); ? ? ? ? }else { ? ? ? ? ? ? System.out.print("請(qǐng)輸入想要?jiǎng)h除的學(xué)生的學(xué)號(hào):"); ? ? ? ? ? ? for (int i=0;i<=arrayList.size();i++){ ? ? ? ? ? ? ? ? if (arrayList.get(i).getSno()==scanner.nextInt()){ ? ? ? ? ? ? ? ? ? ? arrayList.remove(i); ? ? ? ? ? ? ? ? ? ? System.out.println("刪除成功!"); ? ? ? ? ? ? ? ? } ? ? ? ? ? ? } ? ? ? ? } ? ? } ? ? //修改指定學(xué)生的信息 ? ? public void revisesp(){ ? ? ? ? if (arrayList.size()==0){ ? ? ? ? ? ? System.out.println("沒(méi)有學(xué)生?。?!"); ? ? ? ? }else { ? ? ? ? ? ? System.out.print("請(qǐng)輸入想要修改的學(xué)生的學(xué)號(hào):"); ? ? ? ? ? ? for (Student student:arrayList){ ? ? ? ? ? ? ? ? if (student.getSno()==scanner.nextInt()){ ? ? ? ? ? ? ? ? ? ? revisesp01(student); ? ? ? ? ? ? ? ? ? ? System.out.println("修改成功!"); ? ? ? ? ? ? ? ? } ? ? ? ? ? ? } ? ? ? ? } ? ? } ? ? public void revisesp01(Student student) { ? ? ? ? System.out.println("請(qǐng)根據(jù)序號(hào)選擇指令"); ? ? ? ? System.out.println("1.修改姓名"); ? ? ? ? System.out.println("2.修改性別"); ? ? ? ? System.out.println("2.修改年齡"); ? ? ? ? switch (scanner.nextInt()){ ? ? ? ? ? ? case 1: ? ? ? ? ? ? ? ? student.setName(scanner.next()); ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? case 2: ? ? ? ? ? ? ? ? student.setXes(scanner.next()); ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? case 3: ? ? ? ? ? ? ? ? student.setAge(scanner.nextInt()); ? ? ? ? ? ? ? ? break; ? ? ? ? } ? ? } }
最后創(chuàng)建一個(gè)測(cè)試類Test.java用來(lái)測(cè)試功能的實(shí)現(xiàn)
import java.util.Scanner; ? public class Test { ? ? Structure structure=new Structure(); ? ? static Scanner scanner=new Scanner(System.in); ? ? public static void main(String[] args) { ? ? ? ? Test test=new Test(); ? ? ? ? test.a(); ? ? } ? ? public void a(){ ? ? ? ? System.out.println("老師登錄(賬號(hào)密碼固定123/123)"); ? ? ? ? structure.enter(); ? ? ? ? while (true){ ? ? ? ? ? ? print(); ? ? ? ? ? ? switch (scanner.nextInt()){ ? ? ? ? ? ? ? ? case 1: ? ? ? ? ? ? ? ? ? ? structure.add(); ? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? ? ? case 2: ? ? ? ? ? ? ? ? ? ? structure.print(); ? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? ? ? case 3: ? ? ? ? ? ? ? ? ? ? structure.inquiry(); ? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? ? ? case 4: ? ? ? ? ? ? ? ? ? ? structure.delete(); ? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? ? ? case 5: ? ? ? ? ? ? ? ? ? ? structure.revisesp(); ? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? ? ? case 0: ? ? ? ? ? ? ? ? ? ? return; ? ? ? ? ? ? ? ? default: ? ? ? ? ? ? ? ? ? ? System.out.println("請(qǐng)輸入正確的指令!"); ? ? ? ? ? ? } ? ? ? ? ? } ? ? } ? ? ? public void print(){ ? ? ? ? System.out.println("根據(jù)指令選擇操作:"); ? ? ? ? System.out.println("1. 添加學(xué)生信息"); ? ? ? ? System.out.println("2. 學(xué)生信息列表"); ? ? ? ? System.out.println("3. 查詢指定學(xué)號(hào)的學(xué)生信息"); ? ? ? ? System.out.println("4. 根據(jù)學(xué)號(hào)刪除指定學(xué)生信息"); ? ? ? ? System.out.println("5. 請(qǐng)輸入想要修改的學(xué)生的學(xué)號(hào)"); ? ? ? ? System.out.println("0.退出"); ? ? } }
最后我們就順利的完成了一個(gè)簡(jiǎn)單的學(xué)生管理系統(tǒng),能獨(dú)立完成這個(gè)對(duì)我們鞏固基礎(chǔ)知識(shí)是能起到一定的幫助的。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot 實(shí)現(xiàn)定時(shí)任務(wù)的方法詳解
這篇文章主要介紹了SpringBoot 實(shí)現(xiàn)定時(shí)任務(wù)的方法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08Java+Redis撤銷(xiāo)重做功能實(shí)現(xiàn)
這篇文章主要介紹了Java+Redis實(shí)現(xiàn)撤銷(xiāo)重做功能,需要考慮撤銷(xiāo)的最大步數(shù),撤銷(xiāo)之后穿插著其他操作則不能再重做,所以引入分布式鎖Redisson進(jìn)行加鎖處理,防止對(duì)圖表的操作有并發(fā)請(qǐng)求導(dǎo)致處理撤銷(xiāo)邏輯混亂,感興趣的朋友跟隨小編一起看看吧2023-05-05詳解java WebSocket的實(shí)現(xiàn)以及Spring WebSocket
這篇文章主要介紹了詳解java WebSocket的實(shí)現(xiàn)以及Spring WebSocket ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-01-01mybatis中關(guān)于mapper的使用以及注意事項(xiàng)
這篇文章主要介紹了mybatis中關(guān)于mapper的使用以及注意事項(xiàng),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06