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ì)象容器類存放這些信息,然后設(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類:
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ù)名字搜索該學(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類:(課程類)
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è)試類:
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)文章
spring boot mybatis多數(shù)據(jù)源解決方案過(guò)程解析
這篇文章主要介紹了spring boot mybatis多數(shù)據(jù)源解決方案過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11
SpringBoot使用自定義注解實(shí)現(xiàn)數(shù)據(jù)脫敏過(guò)程詳細(xì)解析
這篇文章主要介紹了SpringBoot自定義注解之脫敏注解詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02
Java Eclipse中實(shí)現(xiàn)快速替換變量
這篇文章主要介紹了Java Eclipse中實(shí)現(xiàn)快速替換變量,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-09-09
Java中Arrays.asList()方法詳解及實(shí)例
這篇文章主要介紹了Java中Arrays.asList()方法將數(shù)組作為列表時(shí)的一些差異的相關(guān)資料,需要的朋友可以參考下2017-06-06
java實(shí)現(xiàn)文件上傳下載和圖片壓縮代碼示例
本文給大家介紹的是項(xiàng)目中經(jīng)常需要用到的一個(gè)常用的功能,使用java實(shí)現(xiàn)文件的上傳下載和圖片的壓縮功能,這里推薦給大家,有需要的小伙伴參考下。2015-03-03
spring+Jpa多數(shù)據(jù)源配置的方法示例
這篇文章主要介紹了spring+Jpa多數(shù)據(jù)源配置的方法示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-08-08
Spring Data Jpa+SpringMVC+Jquery.pagination.js實(shí)現(xiàn)分頁(yè)示例
本文介紹了Spring Data Jpa+SpringMVC+Jquery.pagination.js實(shí)現(xiàn)分頁(yè)示例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-12-12

