java控制臺(tái)實(shí)現(xiàn)學(xué)生管理系統(tǒng)
本文實(shí)例為大家分享了java控制臺(tái)實(shí)現(xiàn)學(xué)生管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
編寫一個(gè)學(xué)生成績(jī)管理程序。學(xué)生的屬性包括學(xué)號(hào)、姓名、年齡等。每個(gè)學(xué)生要學(xué)習(xí)若干課程,每門課程有平時(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)列出某門課程每個(gè)學(xué)生的總評(píng)成績(jī),及所有學(xué)生總評(píng)成績(jī)的總評(píng)分;
3)分區(qū)段統(tǒng)計(jì)某門課程的學(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;
?? ??? ??? ?}
?? ??? ?}
?? ??? ?
?? ?}
?
?? ?//列出某門課程每個(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ì)某門課程的學(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;
//每門課程有平時(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)文章
MyBatis?ofType和javaType的區(qū)別說(shuō)明
這篇文章主要介紹了MyBatis?ofType和javaType的區(qū)別,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02
Java加載資源文件時(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

