*学生管理系统java面向对象版本
生活随笔
收集整理的這篇文章主要介紹了
*学生管理系统java面向对象版本
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
學(xué)生管理系統(tǒng)java面向?qū)ο蟀姹?/strong>
鑒于初學(xué)者都在用學(xué)生管理系統(tǒng)練習(xí)業(yè)務(wù)邏輯,本人也提供一個(gè)java寫的面向?qū)ο蟀姹?技術(shù)能力有限,僅供新手學(xué)習(xí)參考。大神略過。
+++++++++學(xué)生類+++++++++++++
學(xué)生容器類
package studentmanagementsystem; import java.util.*; public class StuSystem {//容器類private Scanner sc = new Scanner(System.in);ArrayList<Student> list = new ArrayList();//添加學(xué)生private Student st;public void addstudent (Student st){//判斷id重復(fù)for (int i = 0; i < list.size(); i++) {if (list.get(i).getID() == st.getID()) {System.out.println("已注冊(cè)過該賬號(hào)");}}list.add(st);System.out.println("注冊(cè)成功+++");}//設(shè)置public void setInformation(int temp) {a:while (true) {System.out.println("正在查詢");//加入sleep等待if (list.size()==0) {System.out.println("沒有找到該學(xué)生");break a;}for (int i = 0; i < list.size(); i++) {if (list.get(i).getID()==temp) {System.out.println(list.get(i).toString());list.remove(i);list.add(i,getConsoleString());//把封裝好的對(duì)象直接給了System.out.println("\t\t" + "設(shè)置成功");break a;}}if (true) {System.out.println("沒有該學(xué)生,請(qǐng)重新輸入");break;}}}public void referAll() {for (int i = 0; i < list.size(); i++) {Collections.sort(list);System.out.println(list.get(i).toString());}}public void referStudent(int id) {a:while (true) {System.out.println("正在查詢");//加入sleep等待if (list.size()==0) {System.out.println("沒有找到該學(xué)生");break a;}for (int i = 0; i < list.size(); i++) {if (list.get(i).getID()==id) {System.out.println(list.get(i).toString());break a;}}if (true) {System.out.println("沒有該學(xué)生,請(qǐng)重新輸入");break;}}}public void removeInformation(int id) {a:while (true) {System.out.println("正在查詢");//可加入sleep等待if (list.size()==0) {System.out.println("沒有找到該學(xué)生");break a;}for (int i = 0; i < list.size(); i++) {if (list.get(i).getID()==id) {System.out.println(list.get(i).toString());System.out.println("是否刪除,y/n");String temp=sc.next();if (temp.equals("y")) {list.remove(i);} else if (temp.equals("n")) {break a;}//把封裝好的對(duì)象直接給了System.out.println("\t\t" + "刪除成功");break a;}}if (true) {System.out.println("沒有該學(xué)生,請(qǐng)重新輸入");break;}}}/*抽取控制臺(tái)*/public Student getConsoleString(){//定義學(xué)生對(duì)象儲(chǔ)存信息Student xin = new Student();//定義新的對(duì)象,來接收新的對(duì)象信息System.out.println("==================================================");System.out.println("請(qǐng)輸入學(xué)生信息");System.out.println("請(qǐng)輸入姓名");try {String name = sc.next();xin.setName(name);} catch (Exception e) {System.out.println("輸入錯(cuò)誤");}while (true) {System.out.println("請(qǐng)輸入年齡");try {int age =sc.nextInt();xin.setAge(age);} catch (Exception e) {System.out.println("輸入錯(cuò)誤");break ;}if (xin.flag==true) {break;}}xin.flag=false;System.out.println("請(qǐng)輸入學(xué)號(hào)");try {int id =sc.nextInt();xin.setID(id);} catch (Exception e) {System.out.println("輸入錯(cuò)誤");int id =sc.nextInt();}while (true) {System.out.println("請(qǐng)輸入性別");String sex = sc.next();xin.setSex(sex);if (xin.flag==true) {break;}}System.out.println("=================================================");return xin;} }主方法界面及調(diào)用
package studentmanagementsystem; import javax.sound.midi.Soundbank; import java.util.*; /*** @auther sunguangyuan*@version 1.0* 1.添加 2.修改 3.刪除 4.按學(xué)號(hào)查詢 5.查詢所有學(xué)員 6.退出"); 2一共三個(gè)類,學(xué)生類 、系統(tǒng)類(容器類)、主方法類(界面類) 3界面信息也應(yīng)該封裝起來,并暴露接口,為后期拓展方便*/ public class StudentManageStudent {public static void main(String[] args) {StuSystem tank = new StuSystem();Scanner sc = new Scanner(System.in);title:while (true) {System.out.println("請(qǐng)輸入要執(zhí)行的功能");System.out.println("1.添加 2.修改 3.刪除 4.按學(xué)號(hào)查詢 5.查詢所有學(xué)員 6.退出");try {int temp = sc.nextInt();switch (temp) {case 1://添加 此處封裝性不好if (tank.list.size() == 0) {tank.list.add(tank.getConsoleString());System.out.println("注冊(cè)成功");break;} else if (tank.list.size() >= 1) {tank.addstudent(tank.getConsoleString());break;}break;case 2://修改 :根據(jù)學(xué)號(hào)確定要設(shè)置的對(duì)象System.out.println("請(qǐng)輸入你的學(xué)號(hào)");int setid = sc.nextInt();tank.setInformation(setid);break;case 3://刪除System.out.println("請(qǐng)輸入您的學(xué)號(hào)");int removeid = sc.nextInt();tank.removeInformation(removeid);break;case 4://查詢System.out.println("請(qǐng)輸入您的學(xué)號(hào)");int referid = sc.nextInt();tank.referStudent(referid);break;case 5:System.out.println("========================");System.out.println("========================");//查詢所有學(xué)生tank.referAll();System.out.println("========================");System.out.println("========================");break;case 6://退出System.out.println("歡迎使用,再見");System.exit(0);default:System.out.println("¥¥¥輸入有誤,請(qǐng)重新輸入¥¥¥");break;}} catch (Exception e) {System.out.println("輸入有誤");break title;}}}}功能:常見業(yè)務(wù)的增刪改查,以及根據(jù)學(xué)號(hào)的排序功能等
已知bug: 由于為新手練習(xí)用,沒有引入io,針對(duì)Scanner的異常僅僅是簡(jiǎn)單的捕獲
未作處理,主方法體的title標(biāo)簽為僅為退出用
功能拓展:主界面還應(yīng)該提供接口,拓展功能
主界面封裝不夠良好,還可以優(yōu)化
容器類的arrylist屬性應(yīng)該封裝起來,提高安全性(時(shí)間緊,沒來及改良)
還有名字字符數(shù)不等會(huì)出現(xiàn)對(duì)齊錯(cuò)亂
關(guān)于這個(gè)主界面的封裝和接口的暴露如果有大神瀏覽,懇請(qǐng)指教,謝謝
總結(jié)
以上是生活随笔為你收集整理的*学生管理系统java面向对象版本的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AS 中 Plugin for Grad
- 下一篇: Taro+react开发(91):chi