您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關使用java怎么設計一個學生管理系統,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
student類
使用構造方法初始化 get和set方法傳值
package swpu.student; public class Student { public String number; public String name; public String major; public int math; public int computer; public int english; public int total; //對象數組初始化,使用構造方法 public Student(String newname,String nmajor,String newnumber,int nmath,int ncom,int ne){ number = newnumber; major =nmajor; name = newname; math = nmath; computer = ncom; english = ne; } public String getMajor() { return major; } public void setMajor(String major) { this.major = major; } public int getEnglish() { return english; } public void setEnglish(int english) { this.english = english; } public String getNumber() { return number; } public void setNumber(String number) { this.number = number; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getMath() { return math; } public void setMath(int math) { this.math = math; } public int getComputer() { return computer; } public void setComputer(int computer) { this.computer = computer; } }
排序類
rank類
package swpu.student; public class Rank { public static void rankscore(Student [] arr,int n){ //數學 if(n==1) { for (int i = 0; i < arr.length-1; i++) { int index = i; int j; // 找出最小值得元素下標 for (j = i + 1; j < arr.length; j++) { if (arr[j].math > arr[index].math) { index = j; } } int tmp = arr[index].math; arr[index].math = arr[i].math; arr[i].math = tmp; } } //英語 if(n==2) { for (int i = 0; i < arr.length-1; i++) { int index = i; int j; // 找出最小值得元素下標 for (j = i + 1; j < arr.length; j++) { if (arr[j].english > arr[index].english) { index = j; } } int tmp = arr[index].english; arr[index].english = arr[i].english; arr[i].english = tmp; } } //計算機 if(n==3) { for (int i = 0; i < arr.length-1; i++) { int index = i; int j; // 找出最小值得元素下標 for (j = i + 1; j < arr.length; j++) { if (arr[j].computer > arr[index].computer) { index = j; } } int tmp = arr[index].computer; arr[index].computer = arr[i].computer; arr[i].computer = tmp; } } } }
這里使用了靜態方法傳入成績的值
查找類
search類
package swpu.student; public class Search { //書寫兩種方法(學號,姓名) public int StuNum(Student arr[] ,String y)//傳入數組,查找值 ,使用字符串的比較 { for(int i = 0;i<arr.length;i++) { if(arr[i].number.equals(y)) return i; } return -1; } public int StuNam(Student stu[] ,String x) { for(int i = 0;i<stu.length;i++) { if(stu[i].name.equals(x)) return i; } return -1; } }
主要類
Instudent類
package swpu.student; import java.util.Scanner; public class Instudent { public static void main(String[] args) { // TODO Auto-generated method stub Scanner in = new Scanner(System.in); Student []stu = new Student[5]; //學生成績初始化 stu[0] = new Student("Jack","軟工 ","20183101",80,90,85); stu[1] = new Student("Rose","大數據","20183102",99,93,90); stu[2] = new Student("John","網安全","20183103",87,70,74); stu[3] = new Student("Andi","網工程","20183104",67,66,68); stu[4] = new Student("Mike","物聯網","20183105",56,90,55); //局部變量的初始化 String nu1 = ""; String na1 = ""; String ma1 = ""; int t1=0,t2=0,t3=0; System.out.println("-------------------學生成績管理系統------------------------"); //輸入學生信息 for(int i=0;i<stu.length;i++) { System.out.println("請輸入第"+(i+1)+"個學生的姓名,專業,學號,數學成績,計算機成績,英語成績"); na1 = in.next();//姓名 ma1 = in.next();//專業 nu1 = in.next();//學號 t1 = in.nextInt(); t2 = in.nextInt(); t3 = in.nextInt(); stu[i].setNumber(nu1); stu[i].setName(na1); stu[i].setMajor(ma1); stu[i].setEnglish(t3); stu[i].setComputer(t2); stu[i].setMath(t2); } Search search = new Search(); //選擇需要的查找的方法 System.out.println("選擇需要的查找的方法, 1學號,2姓名"); int p = in.nextInt(); if(p==1) { //使用學號的方法進行查找 System.out.println("輸入您所需要查找的學生學號"); String y = in.next(); int x = search.StuNum(stu,y); if(x>=0) System.out.println("學號:"+stu[x].number+" 學生:"+stu[x].name+" 專業:"+stu[x].major+" 數學:"+stu[x].math+" 計算機:"+stu[x].computer+" 英語:"+stu[x].english); else System.out.println("輸入的學生不存在"); } if(p==2) { //使用姓名的方法進行查找 System.out.println("輸入您所需要查找的學生姓名"); String thename = in.next(); int w = search.StuNam(stu,thename); if(w>=0) System.out.println("學號:"+stu[w].number+" 學生:"+stu[w].name+" 專業:"+stu[w].major+" 數學:"+stu[w].math+" 計算機:"+stu[w].computer+" 英語:"+stu[w].english); else System.out.println("輸入的學生不存在"); } System.out.println("是否需要對單科成績進行排名 [Y/N] 1 =yes,2=no"); int op = in.nextInt(); if(op==1) { //單科成績的排序(輸入所需要科目然后直接進行排序) Rank rank = new Rank();//創建對象 System.out.println("輸入所需要排序的成績編號 , 1:數學,2:英語,3:計算機"); int major = in.nextInt(); rank.rankscore(stu,major); //輸出排序后的成績 for(int i = 0;i < stu.length;i++) { System.out.println("學號:"+stu[i].number+" 學生:"+stu[i].name+" 專業:"+stu[i].major+" 數學:"+stu[i].math+" 計算機:"+stu[i].computer+" 英語:"+stu[i].english); } } else { System.out.println("結束,退出系統"); } } }
其中使用構造方法初始化的時已經存入了值,因此在使用set方法輸入學生信息時其實是修改學生信息,在構造方法初始化的時候可以不用那么復雜 可直接根據數據類型 例如:
stu[0] = new Student(" "," "," ",0,0,0); stu[1] = new Student(" "," "," ",0,0,0); stu[2] = new Student(" "," "," ",0,0,0); stu[3] = new Student(" "," "," ",0,0,0); stu[4] = new Student(" "," "," ",0,0,0);
注意 在聲明局部變量的時候一定要記住初始化,否則將值傳入數組的時候會出現報錯
運行截圖:
上述就是小編為大家分享的使用java怎么設計一個學生管理系統了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。