日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

java学生管理系统

發布時間:2023/12/9 windows 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java学生管理系统 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

以下記錄來自一個菜鳥,請大佬們見諒

2019.4.6 16:49,已經在電腦前坐了將近五個小時的我將個人第一個java優化系統調試完成,五個小時,只是將已經寫好的系統進行優化,起初開始優化的時候覺得這簡直是個無底洞,要考慮的東西太多太細(忽然想起一位java老師曾說過,“永遠不要相信你的用戶都是正常人”,言外之意就是要考慮到用戶各種各樣稀奇古怪的操作),而且不同類之間的分工很難協調,初步估算工程量比我原本寫出系統的量還大,在這五個小時大腦周圍一直有幾個聲音圍著我轉:“睡一會吧”、“去##的**系統”、“這##是人干的事嗎”。但當最后一個javac stuSystem.java后沒有報錯,所有的一切都變成了一個聲音:“值得!”

以下附上(1)第一次實現功能的代碼
(2)優化后的代碼

(1)

import java.util.Scanner; class Student {String num;String name;String gender;byte age;byte grade;}class main{public static void main(String[] args ){System.out.println("歡迎使用學生信息管理系統");Student stu[] = new Student[10];int dataIndex = 0;Scanner scanner = new Scanner(System.in);while(true){System.out.println("請選擇操作");System.out.println("0:退出系統");System.out.println("1:輸入學生信息");System.out.println("2:查詢學生信息");System.out.println("3:修改學生信息");System.out.println("4:刪除學生信息");//int opIndex = scan.nextInt();int opIndex = scanner.nextInt();switch(opIndex){case 0:System.exit(0);///退出系統case 1:Scanner scan = new Scanner(System.in);Student stud = new Student();System.out.println("請輸入學生的學號");stud.num = scan.next() ;///重點:scanner 的使用System.out.println("請輸入學生的姓名");stud.name = scan.next() ;///加括號System.out.println("請輸入學生的性別");stud.gender = scan.next() ;System.out.println("請輸入學生的年齡");stud.age = scan.nextByte() ;System.out.println("請輸入學生的成績");stud.grade = scan.nextByte() ;stu[dataIndex] = stud;dataIndex++; break;case 2:System.out.println("請輸入要查詢學生的姓名");Scanner sc = new Scanner(System.in);String nam = sc.next();int numb = -1;for(int i = 0; i <dataIndex ; i++){if(stu[i].name .equals(nam)){numb = i;}}if(numb >=0){System.out.println("該學生的學號為:" + stu[numb].num);System.out.println("該學生的性別為:" + stu[numb].gender); System.out.println("該學生的年齡為:" + stu[numb].age);System.out.println("該學生的成績為:" + stu[numb].grade);}else{System.out.println("不存在該學生!!");}break;case 3:System.out.println("請輸入要修改信息學生的姓名");Scanner sc1 = new Scanner(System.in);//sc不能重復定義String nam1 = sc1.next();///nam不能重復定義int numb1 = -1;for(int i = 0; i <dataIndex ; i++){if(stu[i].name .equals(nam1)){numb1 = i;} }if(numb1 >= 0){System.out.println("請輸入學生的學號");stu[numb1].num = sc1.next() ;System.out.println("請輸入學生的姓名");stu[numb1].name = sc1.next() ;System.out.println("請輸入學生的性別");stu[numb1].gender = sc1.next() ;System.out.println("請輸入學生的年齡");stu[numb1].age = sc1.nextByte() ;System.out.println("請輸入學生的成績");stu[numb1].grade = sc1.nextByte() ;}else{System.out.println("不存在該學生!!");}break;case 4:System.out.println("請輸入要刪除信息學生的姓名");Scanner sc2 = new Scanner(System.in);String nam2 = sc2.next();int numb2 = -1;for(int i = 0; i <dataIndex ; i++){if(stu[i].name .equals(nam2)){numb2 = i;} if(numb2 >= 0){for(i= numb2;i<dataIndex;i++){stu[i] = stu[i+1];}dataIndex --;}else{System.out.println("不存在該學生!!");}}}///數組的增長if(dataIndex == stu.length){Student newstu[] = new Student[stu.length + stu.length>>1];for(int i = 0;i < stu.length ;i++){newstu[i] = stu[i]; }stu = newstu;}}} }///成員變量和局部變量/***************************************** 設計思路 1、輸入: (1)無限循環輸入 (2)根據用戶操作停止輸入 (3)輸入時先輸入到一個對象中然后賦值給數組 (4)注意要用一個index來記錄該輸入第幾個數組了 (5)用函數來進行輸入等操作 輸入時在主函數里定義一個成員變量 2、查詢: (1)遍歷數組再遍歷對象3、修改學生信息 (1)4、刪除學生信息 (1)進行覆蓋問題: (1)其他類里的局部變量怎么引入到main里? 是不是可以直接在其他class里給main里的變量賦值?否*****************************************/

(2)

import java.util.Scanner;class Student{Student(){}Student (String stuNo, String stuName, String gender, byte age, int score){this.stuNo = stuNo;this.stuName = stuName;this.gender = gender;this.age = age;this.score = score;}String stuNo;String stuName;String gender;byte age;int score; }class StuData{Student stuArray[] = new Student[10];int dataindex = 0;void insertStu(Student stu){if(dataindex == stuArray.length){Student newArray[] = new Student[stuArray.length + (stuArray.length >> 1)];for(int i = 0; i<dataindex; i++){newArray[i] = stuArray[i];}stuArray = newArray;///賦值時不用加[]}stuArray[dataindex] = stu;dataindex++;}Student checkStuNo(String stuNo){for(int i = 0; i < dataindex; i++){if(stuArray[i].stuNo.equals(stuNo)) ///.equals{return stuArray[i]; }}return null;}void delateStu(String stuNo){///錯誤:找不到符號 有可能是大小寫的問題,只要雙擊不論大小寫只要拼寫相同就變綠boolean flag = false;for(int i = 0; i < dataindex; i++){if (stuArray[i].stuNo.equals(stuNo)){stuArray[i] = stuArray[i + 1];flag = true;}}if(flag){dataindex--;}}void updateStu(Student stu){for(int i = 0; i < dataindex; i++){if(stuArray[i].stuNo.equals(stu.stuNo)){stuArray[i] = stu;}}}void printStu(Student stu){System.out.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++");System.out.print("學生編號 " + stu.stuNo + " ");System.out.print("學生姓名 " + stu.stuName + " ");System.out.print("學生性別 " + stu.gender + " ");System.out.print("學生年齡 " + stu.age + " ");System.out.println("學生成績 " + stu.score + " ");System.out.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++");}void printAllstuInf(){for(int i = 0; i < dataindex; i++){printStu(stuArray[i]);}} }class StuSys{StuData stud = new StuData();void insertStu(Scanner scanner){System.out.println("請輸入學生的學號 姓名 性別 年齡 成績(輸入出用空格分開):");String stuNo = scanner.next();String stuName = scanner.next();String gender = scanner.next();byte age = scanner.nextByte();int score = scanner.nextInt();int i = 0;if(stud.checkStuNo(stuNo) == null){Student stu = new Student(stuNo, stuName, gender, age, score);stud.insertStu(stu);System.out.println("學生信息添加成功!!!");}else{System.out.println("您輸入的學生編號已存在,請選擇下一步操作");System.out.println("1、繼續添加 2、退出系統");i = scanner.nextInt();if(i == 1){insertStu(scanner); ///遞歸}else if(i == 2){System.exit(0);}else{System.out.println("您輸入的數據不合規!!!");}}}void delateStu(Scanner scan){int i = 0;///可以重復使用i嗎System.out.println("請輸入要刪除學生的編號:");String stuNo = scan.next();if(stud.checkStuNo(stuNo) != null){stud.delateStu(stuNo);System.out.println("學成信息刪除成功!!!");}else {System.out.println("您輸入的學號不存在,請選擇下一步操作");System.out.println("1、繼續刪除 2、退出系統");if(i == 1){delateStu(scan); }else if(i == 2) {System.exit(0);}else{System.out.println("您輸入的數據不合規!!!");}}}void updateStu(Scanner scanner){int i = 0;System.out.println("請輸入要修改的學生的編號:");String stuNo = scanner.next();Student stu = new Student();///非要等與null嗎??調試后的總結:1不能直接= new student 因為構造方法里沒有student() (無參數的構造方法)///解決方法:加一個無參的構造方法if(stud.checkStuNo(stuNo) != null){System.out.println("請輸入學生的姓名 性別 年齡 成績 (輸入時用空格分開)");stu.stuNo = stuNo;stu.stuName = scanner.next();stu.gender = scanner.next();stu.age = scanner.nextByte();stu.score = scanner.nextInt();stud.updateStu(stu);System.out.println("學生信息修改成功!!!");}else{System.out.println("您輸入的學生編號不存在,請選擇下一步操作");System.out.println("1、繼續修改 2、退出系統");i = scanner.nextInt();if(i == 1){insertStu(scanner); }else if(i == 2){System.exit(0);}else{System.out.println("您輸入的數據不合規!!!");}}}void showStuInfo(Scanner scanner){int i = 0;Student stu = new Student();System.out.println("請輸入查看學生的編號");String stuNo = scanner.next();if((stu = stud.checkStuNo(stuNo)) != null){stud.printStu(stu);}else{System.out.println("您輸入的學號不存在,請選擇下一步操作");System.out.println("1、繼續查看 2、退出系統");i = scanner.nextInt();if(i == 1){showStuInfo(scanner); }else if(i == 2){System.exit(0);}else{System.out.println("您輸入的數據不合規!!!");}}}void showAllStuInfo(){stud.printAllstuInf();} }class Main{public static void main(String[] strs){System.out.println("歡迎使用tyrantfor的學生管理系統");Scanner scan = new Scanner(System.in);Main main = new Main();StuSys s1 = new StuSys();while(true){main.showMenu();switch(scan.nextInt()){case 0:System.exit(0);case 1:s1.insertStu(scan);break;case 2:s1.delateStu(scan);break;case 3:s1.updateStu(scan);break;case 4:s1.showStuInfo(scan);break;case 5:s1.showAllStuInfo();break;default:System.out.println("輸入數據不合規!!!");}}}void showMenu(){System.out.println("請選擇操作:\n\n");System.out.println("1:增加學生信息");System.out.println("2:刪除學生信息");System.out.println("3:修改學生信息");System.out.println("4:根據學號查看學生信息");System.out.println("5:查看所有學生信息");System.out.println("0:退出系統");} }

總結

以上是生活随笔為你收集整理的java学生管理系统的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。