java控制台学生管理_java控制台实现简单的学生管理系统

本文介绍了一个使用Java编写的控制台学生管理系统,系统包含了学生信息和成绩管理。通过Student类、Function类和Grade类,实现了查看学生所有成绩、按课程显示总评成绩和统计成绩分布等功能。
摘要由CSDN通过智能技术生成

编写一个学生成绩管理程序。学生的属性包括学号、姓名、年龄等。每个学生要学习若干课程,每门课程有平时成绩、期中考试成绩、实习成绩、期末考试成绩以及总评成绩等多个成绩,其中平时成绩的数目不定(因为不同课程的教师布置的平时作业数不同),而总评成绩是其它成绩的平均值。请先设计合理的对象容器类存放这些信息,然后设计程序完成以下功能:

1)列出某个学生的所有成绩;

2)列出某门课程每个学生的总评成绩,及所有学生总评成绩的总评分;

3)分区段统计某门课程的学生总评成绩,例如60 分以下的学生人数、60 至70 分的学生人数等。

4fbdb8297f53d9e92999f6dadce7385c.png

Student类:package homework032002;

import java.util.ArrayList;

public class Student {

private String name;

private String no;

private int age;

private ArrayList Grade;

public ArrayList getCourses() {

return Grade;

}

public void setCourses(ArrayList 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) {

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 arrayList = new ArrayList<>();

//static ArrayList arrayList2 = new ArrayList<>();

private ArrayList arrayList2;

public Function(ArrayList arrayList) {

super();

this.arrayList2 = arrayList;

}

//根据名字搜索该学生的成绩

public void show(String name) {

for (Student s : arrayList2) {

if(s.getName().equals(name)) {

ArrayList 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

ab60

de> 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);

}

//分区段统计某门课程的学生总评成绩,例如60 分以下的学生人数、60 至70 分的学生人数等

public void selectGrade(String courseName) {

int down60 = 0;

int down60_70 = 0;

for(Student student : arrayList2) {

ArrayList 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 students = new ArrayList<>();

ArrayList grades = new ArrayList<>();

students.add(new Student("小明", "12", 13, grades));

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));

grades.add(new Grade("计算机", 50, 95, 45, 78, 76));

ArrayList grades1 = new ArrayList<>();

students.add(new Student("小红", "12", 13, grades1));

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));

grades1.add(new Grade("计算机", 50, 95, 45, 78, 76));

ArrayList grades2 = new ArrayList<>();

students.add(new Student("小上", "12", 13, grades2));

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));

grades2.add(new Grade("计算机", 50, 95, 45, 78, 76));

ArrayList grades3 = new ArrayList<>();

students.add(new Student("小蓝", "12", 13, grades3));

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));

grades3.add(new Grade("计算机", 50, 95, 45, 78, 76));

Function function = new Function(students);

function.show("小明");

function.showOneSum("计算机");

function.selectGrade("高数");

}}

标签:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值