Java学生管理小系统

最近新学了java,用一个小项目来练练手。

编写一个模拟录入学生成绩的程序,该程序包括一个用来记录课程信息的类(Course)
记录学生信息的类(Student)
用来记录学生选课信息的类(SelectCourse)
以及一个用来完成录入过程的类(Test)。

下附上代码

import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        Student[] students = new Student[3];
        students[0] = new Student("Ailce");
        students[0].setSid();
        students[1] = new Student("Bob");
        students[1].setSid();
        students[2] = new Student("Lucy");
        students[2].setSid();
        Course[] courses = new Course[2];
        courses[0] = new Course(1, "java", 3);
        courses[1] = new Course(2, "C++", 2);
        SelectCourse[] selectCourses = new SelectCourse[6];
        int[] credits = new int[6]; // 记录总学分
        Scanner input = new Scanner(System.in);
        for (int i = 0; i < selectCourses.length; i++) {
            System.out.println("请输入学生学号:(1/2/3)");
            int sid = input.nextInt() - 1;
            System.out.println("请输入学生课程号:(0/1)");
            int cid = input.nextInt();
            System.out.println("请输入学生该科成绩:(0-100)");
            double score = input.nextDouble();
            selectCourses[i] = new SelectCourse(sid, cid, score);
            if (selectCourses[i].getCid() == 1) {
                courses[0].addStudent(selectCourses[i].getScore());
            } else {
                courses[1].addStudent(selectCourses[i].getScore());
            }
            if (selectCourses[i].getSid() == 0) {
                students[0].addCourse(selectCourses[i].getScore());
                if (selectCourses[i].getScore() >= 60) {
                    students[0].Total(selectCourses[i].getCid());
                } else {
                    continue;
                }
            } else if (selectCourses[i].getSid() == 1) {
                students[1].addCourse(selectCourses[i].getScore());
                if (selectCourses[i].getScore() >= 60) {
                    students[1].Total(selectCourses[i].getCid());
                } else {
                    continue;
                }
            } else {
                students[2].addCourse(selectCourses[i].getScore());
                if (selectCourses[i].getScore() >= 60) {
                    students[2].Total(selectCourses[i].getCid());
                } else {
                    continue;
                }
            }
        }
        for (int i = 0; i < selectCourses.length; i++) {
            if (selectCourses[i].getScore() >= 60) {
                if (i % 2 != 0) {
                    credits[i] += 2;
                } else {
                    credits[i] += 3;
                }
            }
        }
        for (int i = 0; i < 3; i++) {
            if (students[i].getAvgScore() >= 60) {
                System.out.println("学号:" + students[i].getSid());
                System.out.println("姓名:" + students[i].getSname());
                System.out.println("选课数:" + students[i].getNum());
                System.out.println("平均分:" + students[i].getAvgScore());
                System.out.println("总学分:" + (credits[2 * i + 1] + credits[2 * i]));
                System.out.println("java课成绩:" + selectCourses[2 * i].getScore() + "  本门课学分:" + courses[0].getCredits());
                System.out.println(
                        "C++课成绩:" + selectCourses[2 * i + 1].getScore() + "  本门课学分:" + courses[1].getCredits());
            }
        }
        System.out.println("你想查谁呢?输学号吧(1/2/3)");
        int sid = input.nextInt()-1;
        System.out.println("学号:" + students[sid].getSid());
        System.out.println("姓名:" + students[sid].getSname());
        System.out.println("选课数:" + students[sid].getNum());
        System.out.println("平均分:" + students[sid].getAvgScore());
        System.out.println("总学分:" + (credits[2 * sid + 1] + credits[2 * sid]));
        System.out.println("java课成绩:" + selectCourses[2 * sid].getScore() + "获得学分:" + courses[0].getCredits());
        System.out.println("C++课成绩:" + selectCourses[2 * sid + 1].getScore() + "获得学分:" + courses[1].getCredits());
    }
}

class Course {
    private int cid; // 课程号
    private String cname; // 课程名
    private double credits; // 学分
    private int num; // 选课人数
    private double avgScore; // 平均分(本门课)

    public Course(int cid, String cname, double credits) {
        this.cid = cid;
        this.cname = cname;
        this.credits = credits;
        this.num = 0;
        this.avgScore = 0;
    }

    public int getCid() {
        return cid;
    }

    public String getCname() {
        return cname;
    }

    public double getCredits() {
        return credits;
    }

    public int getNum() {
        return num;
    }

    public double getAvgScore() {
        return avgScore;
    }

    public void setNum(Student student) {
        this.num = num;
    }

    public void setAvgScore(Student student) {
        this.avgScore = avgScore;
    }

    public void addStudent(double score) {
        this.num++;
        this.avgScore = ((num - 1) * avgScore + score) / num;
    }
}

class Student {
    private static int NextId = 1;
    private int sid; // 学号
    private String sname; // 姓名
    private int num; // 选课数
    private double avgScore; // 平均分
    private double totalCredits; // 总学分

    public static int getNextId() {
        return NextId;
    }

    public Student(String sname) {
        this.sid = NextId;
        this.sname = sname;
        this.num = 0;
        this.avgScore = 0;
        this.totalCredits = 0;
    }

    public int getSid() {
        return sid;
    }

    public void setSid() {
        sid = NextId++;
    }

    public String getSname() {
        return sname;
    }

    public int getNum() {
        return num;
    }

    public double getAvgScore() {
        return avgScore;
    }

    public double getTotalCredits() {
        return totalCredits;
    }

    public void setNum() {
        this.num = num;
    }

    public void setAvgScore() {
        this.avgScore = avgScore;
    }

    public void Total(int cid) {
        this.totalCredits = totalCredits + cid;
    }

    public void addCourse(double score) {
        this.num++;
        this.avgScore = ((num - 1) * avgScore + score) / num;
    }
}

class SelectCourse {
    private int sid;
    private int cid;
    private double score;

    public SelectCourse(int sid, int cid, double score) {
        this.sid = sid;
        this.cid = cid;
        this.score = score;
    }

    public int getSid() {
        return sid;
    }

    public int getCid() {
        return cid;
    }

    public double getScore() {
        return score;
    }
}

我们就大功告成啦!

基于struts网上书店 JSP+Access论坛 网络招标信息管理系统 sql2000网络教学平台 mySQL超市管理系统 超市管理系统 教学管理系统 基于网络环境的选课系统 学生信息管理系统 新闻系统 新闻文章发布系统 考试系统 网络教学系统 网上书店系统 问卷管理... www.yateshi.com/service/13519.html 21K 2009-4-8 - 百度快照 求职java方向的web开发! - 程序员/软件工程师 - 58.com 2.熟悉STRUTS结构、MVC的开发;熟练Hibernate数据库持久层的开发及Spring。 3.能熟练应用多种JAVA应用服务器(Tomcat ,...武汉星星超市管理系统(2007-10-2007-12) 项目描述:对超市的货物、员工、财务进行管理 职责:模块开发,系统设计,数据... bj.58.com/tech/35220795x.shtml 11K 2009-2-13 - 百度快照 源码下载列表 - 纽纶网 | Nulung.com 600G IT资料,文档,书籍,... 1568_fjswpic12人气:超市管理系统\\数据库脚本和数据库备份超市管理系统\\数据库脚本和数据库备份-Supermarket ...所属分类:发布日期:2008-10-13文件大小:3845697提供者:StrutsNETBOOK6人气:一款网上书店的J2EE代码,采用STRUTS技术 ... www.dssz.net/100304-size-asc/1249.html 15K 2009-4-21 - 百度快照 新东方一搏职业培训学校 开发基于桌面的J2SE应用系统;(...2、MVC模式、Struts框架 3、...系统分析师。主要研究方向为软件项目管理、软件产品生命...曾主持参与铁路系统多个大型项目设计与开发,如全国铁路货车大修财务清算系统、车号标签自动识别系统、货车检修成本管理... www.hrbrcw.com/job/1920.aspx?jid=5165 53K 2009-4-22 - 百度快照
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值