Java学生管理小系统

    技术2026-03-10  9

    最近新学了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; } }

    我们就大功告成啦!

    Processed: 0.013, SQL: 10