java控制臺實現(xiàn)學生管理系統(tǒng)
本文實例為大家分享了java控制臺實現(xiàn)學生管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
編寫一個學生成績管理程序。學生的屬性包括學號、姓名、年齡等。每個學生要學習若干課程,每門課程有平時成績、期中考試成績、實習成績、期末考試成績以及總評成績等多個成績,其中平時成績的數(shù)目不定(因為不同課程的教師布置的平時作業(yè)數(shù)不同),而總評成績是其它成績的平均值。請先設(shè)計合理的對象容器類存放這些信息,然后設(shè)計程序完成以下功能:
1)列出某個學生的所有成績;
2)列出某門課程每個學生的總評成績,及所有學生總評成績的總評分;
3)分區(qū)段統(tǒng)計某門課程的學生總評成績,例如60 分以下的學生人數(shù)、60 至70 分的學生人數(shù)等。
Student類:
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類:(功能封裝在此類中):
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ù)名字搜索該學生的成績 ?? ?public void show(String name) { ?? ??? ?for (Student s : arrayList2) { ?? ??? ??? ?if(s.getName().equals(name)) { ?? ??? ??? ??? ?ArrayList<Grade> course = s.getCourses(); ?? ??? ??? ??? ?System.out.println("該學生的成績是:"); ?? ??? ??? ??? ?for(Grade grade : course) { ?? ??? ??? ??? ??? ? ?? ??? ??? ??? ??? ?System.out.println(grade); ?? ??? ??? ??? ?} ?? ??? ??? ??? ??? ?break; ?? ??? ??? ?} ?? ??? ?} ?? ??? ? ?? ?} ? ?? ?//列出某門課程每個學生的總評成績,及所有學生總評成績的總評分 ?? ?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()+"的總評分是"+grade.getSumGrade()); ?? ??? ??? ??? ?} ?? ??? ??? ?} ?? ??? ?} ?? ??? ??? ?System.out.println("所有學生的總評分是:"+sumGrade/num); ?? ?} ?? ??? ?//分區(qū)段統(tǒng)計某門課程的學生總評成績,例如60 分以下的學生人數(shù)、60 至70 分的學生人數(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類:(課程類)
package homework032002; //每門課程有平時成績、期中考試成績、實習成績、期末考試成績以及總評成績等多個成績 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 + "]"; ?? ?}?? ??? ?? ?? ? }
測試類:
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("語文", 50, 95, 45, 78, 76)); ?? ??? ?grades.add(new Grade("英語", 50, 95, 45, 78, 76)); ?? ??? ?grades.add(new Grade("計算機", 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("語文", 50, 95, 45, 78, 76)); ?? ??? ?grades1.add(new Grade("英語", 50, 95, 45, 78, 76)); ?? ??? ?grades1.add(new Grade("計算機", 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("語文", 50, 95, 45, 78, 76)); ?? ??? ?grades2.add(new Grade("英語", 50, 95, 45, 78, 76)); ?? ??? ?grades2.add(new Grade("計算機", 50, 95, 45, 78, 76)); ?? ??? ?ArrayList<Grade> grades3 = new ArrayList<>(); ?? ??? ?students.add(new Student("小藍", "12", 13, grades3)); ?? ??? ?grades3.add(new Grade("高數(shù)", 50, 95, 45, 78, 76)); ?? ??? ?grades3.add(new Grade("語文", 50, 95, 45, 78, 76)); ?? ??? ?grades3.add(new Grade("英語", 50, 95, 45, 78, 76)); ?? ??? ?grades3.add(new Grade("計算機", 50, 95, 45, 78, 76)); ?? ??? ? ?? ??? ?Function function = new Function(students); ?? ??? ?function.show("小明"); ?? ??? ?function.showOneSum("計算機"); ?? ??? ?function.selectGrade("高數(shù)");?? ? ?? ?}}
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
MyBatis?ofType和javaType的區(qū)別說明
這篇文章主要介紹了MyBatis?ofType和javaType的區(qū)別,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-02-02詳解Springboot快速搭建跨域API接口的步驟(idea社區(qū)版2023.1.4+apache-maven-3.9.
這篇文章主要介紹了Springboot快速搭建跨域API接口(idea社區(qū)版2023.1.4+apache-maven-3.9.3-bin),本文通過圖文并茂的形式給大家介紹的非常詳細,需要的朋友可以參考下2023-07-07關(guān)于Spring Cloud 本地屬性覆蓋的問題
這篇文章主要介紹了關(guān)于Spring Cloud 本地屬性覆蓋的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03詳解使用Spring的restTemplete進行Http請求
本篇文章主要介紹了詳解使用Spring的restTemplete進行Http請求,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06