java控制臺(tái)實(shí)現(xiàn)學(xué)生管理系統(tǒng)
本文實(shí)例為大家分享了java控制臺(tái)實(shí)現(xiàn)學(xué)生管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
編寫(xiě)一個(gè)學(xué)生成績(jī)管理程序。學(xué)生的屬性包括學(xué)號(hào)、姓名、年齡等。每個(gè)學(xué)生要學(xué)習(xí)若干課程,每門(mén)課程有平時(shí)成績(jī)、期中考試成績(jī)、實(shí)習(xí)成績(jī)、期末考試成績(jī)以及總評(píng)成績(jī)等多個(gè)成績(jī),其中平時(shí)成績(jī)的數(shù)目不定(因?yàn)椴煌n程的教師布置的平時(shí)作業(yè)數(shù)不同),而總評(píng)成績(jī)是其它成績(jī)的平均值。請(qǐng)先設(shè)計(jì)合理的對(duì)象容器類(lèi)存放這些信息,然后設(shè)計(jì)程序完成以下功能:
1)列出某個(gè)學(xué)生的所有成績(jī);
2)列出某門(mén)課程每個(gè)學(xué)生的總評(píng)成績(jī),及所有學(xué)生總評(píng)成績(jī)的總評(píng)分;
3)分區(qū)段統(tǒng)計(jì)某門(mén)課程的學(xué)生總評(píng)成績(jī),例如60 分以下的學(xué)生人數(shù)、60 至70 分的學(xué)生人數(shù)等。
Student類(lèi):
package homework032002; ? import java.util.ArrayList; ? public class Student { ?? ?private String name; ?? ?private String no; ?? ?private int age; ?? ?private ArrayList<Grade> Grade; ?? ?public ArrayList<Grade> getCourses() { ?? ??? ?return Grade; ?? ?} ?? ?public void setCourses(ArrayList<Grade> Grade) { ?? ??? ?this.Grade = Grade; ?? ?} ?? ? ?? ? ?? ?public String getName() { ?? ??? ?return name; ?? ?} ?? ?public void setName(String name) { ?? ??? ?this.name = name; ?? ?} ?? ?public String getNo() { ?? ??? ?return no; ?? ?} ?? ?public void setNo(String no) { ?? ??? ?this.no = no; ?? ?} ?? ?public int getAge() { ?? ??? ?return age; ?? ?} ?? ?public void setAge(int age) { ?? ??? ?this.age = age; ?? ?} ? ? ?? ?@Override ?? ?public String toString() { ?? ??? ?return "Student [name=" + name + ", no=" + no + ", age=" + age + ", course=" + Grade + "]"; ?? ?} ?? ?public Student(String name, String no, int age, ArrayList<Grade> Grade) { ?? ??? ?super(); ?? ??? ?this.name = name; ?? ??? ?this.no = no; ?? ??? ?this.age = age; ?? ??? ?this.Grade = Grade; ?? ?} ?? ?public Student() { ?? ??? ?super(); ?? ??? ?// TODO Auto-generated constructor stub ?? ?} }
Function類(lèi):(功能封裝在此類(lèi)中):
package homework032002; import homework032002.Grade; import java.util.ArrayList; ? public class Function { ?? ?//static ArrayList<Grade> arrayList = new ArrayList<>(); ?? ?//static ArrayList<Student> arrayList2 = new ArrayList<>(); ?? ?private ArrayList<Student> arrayList2; ?? ?public Function(ArrayList<Student> arrayList) { ?? ??? ?super(); ?? ??? ?this.arrayList2 = arrayList; ?? ?} ?? ?//根據(jù)名字搜索該學(xué)生的成績(jī) ?? ?public void show(String name) { ?? ??? ?for (Student s : arrayList2) { ?? ??? ??? ?if(s.getName().equals(name)) { ?? ??? ??? ??? ?ArrayList<Grade> course = s.getCourses(); ?? ??? ??? ??? ?System.out.println("該學(xué)生的成績(jī)是:"); ?? ??? ??? ??? ?for(Grade grade : course) { ?? ??? ??? ??? ??? ? ?? ??? ??? ??? ??? ?System.out.println(grade); ?? ??? ??? ??? ?} ?? ??? ??? ??? ??? ?break; ?? ??? ??? ?} ?? ??? ?} ?? ??? ? ?? ?} ? ?? ?//列出某門(mén)課程每個(gè)學(xué)生的總評(píng)成績(jī),及所有學(xué)生總評(píng)成績(jī)的總評(píng)分 ?? ?public void showOneSum(String courseName) { ?? ??? ?double sumGrade = 0; ?? ??? ?int num = 0; ?? ??? ?for(Student student : arrayList2) { ?? ??? ??? ?ArrayList<Grade> grades = student.getCourses(); ?? ??? ??? ?for(Grade grade : grades) { ?? ??? ??? ??? ?if(courseName.equals(grade.getCourse())) { ?? ??? ??? ??? ??? ?num++; ?? ??? ??? ??? ??? ?sumGrade += grade.getSumGrade(); ?? ??? ??? ??? ??? ?System.out.println(student.getName()+"的總評(píng)分是"+grade.getSumGrade()); ?? ??? ??? ??? ?} ?? ??? ??? ?} ?? ??? ?} ?? ??? ??? ?System.out.println("所有學(xué)生的總評(píng)分是:"+sumGrade/num); ?? ?} ?? ??? ?//分區(qū)段統(tǒng)計(jì)某門(mén)課程的學(xué)生總評(píng)成績(jī),例如60 分以下的學(xué)生人數(shù)、60 至70 分的學(xué)生人數(shù)等 ?? ?public void selectGrade(String courseName) { ?? ??? ?int down60 = 0; ?? ??? ?int down60_70 = 0; ?? ??? ?for(Student student : arrayList2) { ?? ??? ??? ?ArrayList<Grade> grades = student.getCourses(); ?? ??? ??? ?for(Grade grade : grades) { ?? ??? ??? ??? ?if(courseName.equals(grade.getCourse())) { ?? ??? ??? ??? ??? ?if(grade.getSumGrade() < 60) { ?? ??? ??? ??? ??? ??? ?down60++; ?? ??? ??? ??? ??? ?}else if (grade.getSumGrade() > 60 || grade.getSumGrade() <70) { ?? ??? ??? ??? ??? ??? ?down60_70++; ?? ??? ??? ??? ??? ?} ?? ??? ??? ??? ?} ?? ??? ??? ?} ?? ??? ?} ?? ??? ?System.out.println("60分以下的有"+down60+"人"); ?? ??? ?System.out.println("60-70分以下的有"+down60_70+"人"); ?? ?} ?? ??? ? ?? ? }
Grade類(lèi):(課程類(lèi))
package homework032002; //每門(mén)課程有平時(shí)成績(jī)、期中考試成績(jī)、實(shí)習(xí)成績(jī)、期末考試成績(jī)以及總評(píng)成績(jī)等多個(gè)成績(jī) public class Grade { ?? ?private String course; ?? ?private int dailyGrade; ?? ?private int midGrade; ?? ?private int doGrade; ?? ?private int endGrade; ?? ? ?? ?public String getCourse() { ?? ??? ?return course; ?? ?} ?? ?public void setCourse(String course) { ?? ??? ?this.course = course; ?? ?} ?? ?public Grade(String course, int dailyGrade, int midGrade, int doGrade, int endGrade, double sumGrade) { ?? ??? ?super(); ?? ??? ?this.course = course; ?? ??? ?this.dailyGrade = dailyGrade; ?? ??? ?this.midGrade = midGrade; ?? ??? ?this.doGrade = doGrade; ?? ??? ?this.endGrade = endGrade; ?? ??? ?this.sumGrade = sumGrade; ?? ?} ? ?? ?public int getDailyGrade() { ?? ??? ?return dailyGrade; ?? ?} ?? ?public void setDailyGrade(int dailyGrade) { ?? ??? ?this.dailyGrade = dailyGrade; ?? ?} ?? ?private double sumGrade; ?? ?public int getMidGrade() { ?? ??? ?return midGrade; ?? ?} ?? ?public void setMidGrade(int midGrade) { ?? ??? ?this.midGrade = midGrade; ?? ?} ?? ?public int getDoGrade() { ?? ??? ?return doGrade; ?? ?} ?? ?public void setDoGrade(int doGrade) { ?? ??? ?this.doGrade = doGrade; ?? ?} ?? ?public int getEndGrade() { ?? ??? ?return endGrade; ?? ?} ?? ?public void setEndGrade(int endGrade) { ?? ??? ?this.endGrade = endGrade; ?? ?} ?? ?public double getSumGrade() { ?? ??? ?return sumGrade; ?? ?} ?? ?public void setSumGrade(double sumGrade) { ?? ??? ?this.sumGrade = sumGrade; ?? ?} ?? ?@Override ?? ?public String toString() { ?? ??? ?return "Grade [course=" + course + ", dailyGrade=" + dailyGrade + ", midGrade=" + midGrade + ", doGrade=" ?? ??? ??? ??? ?+ doGrade + ", endGrade=" + endGrade + ", sumGrade=" + sumGrade + "]"; ?? ?}?? ??? ?? ?? ? }
測(cè)試類(lèi):
package homework032002; ? import java.util.ArrayList; ? public class Test { ?? ?public static void main(String[] args) { ?? ??? ?ArrayList<Student> students = new ArrayList<>(); ?? ??? ?ArrayList<Grade> grades = new ArrayList<>(); ?? ??? ?students.add(new Student("小明", "12", 13, grades)); ?? ??? ?grades.add(new Grade("高數(shù)", 50, 95, 45, 78, 76)); ?? ??? ?grades.add(new Grade("語(yǔ)文", 50, 95, 45, 78, 76)); ?? ??? ?grades.add(new Grade("英語(yǔ)", 50, 95, 45, 78, 76)); ?? ??? ?grades.add(new Grade("計(jì)算機(jī)", 50, 95, 45, 78, 76)); ?? ??? ?ArrayList<Grade> grades1 = new ArrayList<>(); ?? ??? ?students.add(new Student("小紅", "12", 13, grades1)); ?? ??? ?grades1.add(new Grade("高數(shù)", 50, 95, 45, 78, 76)); ?? ??? ?grades1.add(new Grade("語(yǔ)文", 50, 95, 45, 78, 76)); ?? ??? ?grades1.add(new Grade("英語(yǔ)", 50, 95, 45, 78, 76)); ?? ??? ?grades1.add(new Grade("計(jì)算機(jī)", 50, 95, 45, 78, 76)); ?? ??? ?ArrayList<Grade> grades2 = new ArrayList<>(); ?? ??? ?students.add(new Student("小上", "12", 13, grades2)); ?? ??? ?grades2.add(new Grade("高數(shù)", 50, 95, 45, 78, 76)); ?? ??? ?grades2.add(new Grade("語(yǔ)文", 50, 95, 45, 78, 76)); ?? ??? ?grades2.add(new Grade("英語(yǔ)", 50, 95, 45, 78, 76)); ?? ??? ?grades2.add(new Grade("計(jì)算機(jī)", 50, 95, 45, 78, 76)); ?? ??? ?ArrayList<Grade> grades3 = new ArrayList<>(); ?? ??? ?students.add(new Student("小藍(lán)", "12", 13, grades3)); ?? ??? ?grades3.add(new Grade("高數(shù)", 50, 95, 45, 78, 76)); ?? ??? ?grades3.add(new Grade("語(yǔ)文", 50, 95, 45, 78, 76)); ?? ??? ?grades3.add(new Grade("英語(yǔ)", 50, 95, 45, 78, 76)); ?? ??? ?grades3.add(new Grade("計(jì)算機(jī)", 50, 95, 45, 78, 76)); ?? ??? ? ?? ??? ?Function function = new Function(students); ?? ??? ?function.show("小明"); ?? ??? ?function.showOneSum("計(jì)算機(jī)"); ?? ??? ?function.selectGrade("高數(shù)");?? ? ?? ?}}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Java實(shí)現(xiàn)學(xué)生管理系統(tǒng)(控制臺(tái)版本)
- Java版學(xué)生管理系統(tǒng)
- Java畢業(yè)設(shè)計(jì)實(shí)戰(zhàn)之學(xué)生管理系統(tǒng)的實(shí)現(xiàn)
- Java實(shí)現(xiàn)學(xué)生管理系統(tǒng)(IO版)
- JavaSwing實(shí)現(xiàn)小型學(xué)生管理系統(tǒng)
- java實(shí)現(xiàn)簡(jiǎn)單的學(xué)生管理系統(tǒng)
- Java 實(shí)現(xiàn)完整功能的學(xué)生管理系統(tǒng)實(shí)例
- Java實(shí)現(xiàn)學(xué)生管理系統(tǒng)詳解
- Java實(shí)現(xiàn)學(xué)生管理系統(tǒng)詳解流程
相關(guān)文章
MyBatis?ofType和javaType的區(qū)別說(shuō)明
這篇文章主要介紹了MyBatis?ofType和javaType的區(qū)別,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02Java加載資源文件時(shí)的路徑問(wèn)題的解決辦法
今天偶然看到一篇關(guān)于tomcat加載servlet的文章,不由得想起了java加載資源文件的路徑問(wèn)題,資源文件可以使xml,properties,圖片等,可以是任何文件2013-04-04詳解Springboot快速搭建跨域API接口的步驟(idea社區(qū)版2023.1.4+apache-maven-3.9.
這篇文章主要介紹了Springboot快速搭建跨域API接口(idea社區(qū)版2023.1.4+apache-maven-3.9.3-bin),本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-07-07關(guān)于Spring Cloud 本地屬性覆蓋的問(wèn)題
這篇文章主要介紹了關(guān)于Spring Cloud 本地屬性覆蓋的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03詳解使用Spring的restTemplete進(jìn)行Http請(qǐng)求
本篇文章主要介紹了詳解使用Spring的restTemplete進(jìn)行Http請(qǐng)求,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06