java实现学生信息统计系统

来源:互联网 发布:苏州买茶叶知乎 编辑:程序博客网 时间:2024/06/06 01:18

学生信息查询

功能:

1.通过id修改学生信息

2.获取指定学生的成绩

3.获取指定学号的成绩

4.根据姓名修改指定学科的成绩

5.删除指定学生及其成绩

6.统计所有成绩相等的人数

7.获取到所有学生某一科的成绩

代码块

package com.lanou.work01;import java.util.ArrayList;import java.util.HashSet;public class ProgramSystem {    public static void main(String[] args) {        ArrayList<Student> listStudent = new ArrayList<Student>();        // 学生小李        Student student = new Student(1, "小李");        Subject subject1 = new Subject("语文", 90.7);        Subject subject2 = new Subject("数学", 10.5);        student.list.add(subject1);        student.list.add(subject2);        // 学生小王        Student student2 = new Student(1, "小王");        Subject subject3 = new Subject("语文", 20.7);        Subject subject4 = new Subject("数学", 10.5);        student2.list.add(subject3);        student2.list.add(subject4);        // 装进大的数组        listStudent.add(student);        listStudent.add(student2);        System.out.println(listStudent.size());        Control control = new Control(listStudent);        //以下注释内容为功能测试        // control.getScore(student, "语文");        // System.out.println("-------------------------");        // control.getId(1, "数学");        // System.out.println("-------------------------");        // control.upDateName(1, "小陈");        // System.out.println(student.nameString);        // System.out.println("-------------------------");        // control.upDateScore("小陈", "语文", 0.0);        // System.out.println(student);        // control.removeStudent(student);        // System.out.println(listStudent);        // control.countStudnet(student, "语文");        control.fun("语文");    }}class Control {    // 存放学生的数组    ArrayList<Student> listStudent = new ArrayList<Student>();    public Control(ArrayList<Student> listStudent) {        this.listStudent = listStudent;    }    //展示方法    public void show(){        System.out.println("*************************");    }    // 获取指定学生的成绩    public void getScore(Student student, String bookName) {        for (Student student2 : listStudent) {            if (student.nameString.equals(student2.nameString)) {                for (Subject sub : student.list) {                    // 每一个成绩类对象                    if (bookName.equals(sub.nameBook)) {                        System.out.println(sub.Score);                    }                }            }        }    }    // 获取指定学号的成绩    public void getId(int id, String bookName) {        for (Student student2 : listStudent) {            if (student2.id == id) {// 如果id相等话                for (Subject sub : student2.list) {                    // 每一个成绩类对象                    if (bookName.equals(sub.nameBook)) {                        System.out.println(sub.Score);                    }                }            }        }    }    // 根据id修改姓名    public void upDateName(int id, String name) {        for (Student student : listStudent) {            if (student.id == id) {// 如果想等的话                student.nameString = name;            }        }    }    // 根据姓名修改指定学科的成绩    public void upDateScore(String name, String bookName, Double score) {        for (Student student : listStudent) {            if (student.nameString.equals(name)) {                for (Subject subject : student.list) {                    if (subject.nameBook.equals(bookName)) {                        subject.Score = score;                    }                }            }        }    }    // 删除指定学生及其成绩    public void removeStudent(Student student) {        Student student3 = new Student();        System.out.println(listStudent);        for (Student student2 : listStudent) {            if (student2.nameString.equals(student.nameString)) {                student3 = student2;            }        }        listStudent.remove(student3);    }    // 统计所有成绩相等的人数    public void countStudnet(Student student, String namString) {        int count = 1;        // 创建一个数组        double array[] = new double[listStudent.size()];        System.out.println(listStudent.size());        for (Student student2 : listStudent) {            for (int i = 0; i < array.length; i++) {                System.out.println("数组的长度"+array.length);                for (Subject subject : student2.list) {                    if (subject.nameBook.equals(namString)) {                        System.out.println(namString);                        array[i] = subject.Score;                        System.out.println(array[i]);                    }                }            }        }        // 第一个和第二个比较        for (int i = 0; i < array.length; i++) {            for (int j = i + 1; j < array.length; j++) {                if (array[i] == array[j]) {                    count++;                }            }        }        System.out.println("语文成绩相等的人数为:" + count);    }    // 获取到所有学生的成绩    public void fun(String nameString) {        HashSet<Double> set = new HashSet<Double>();        for (Student student2 : listStudent) {                    for (Subject subject : student2.list) {                         if (nameString.equals(subject.nameBook)) {                            set.add(subject.Score);                         }                       }               }        System.out.println(set);    }}//学生类class Student {    String nameString;    int id;    ArrayList<Subject> list = new ArrayList<Subject>();    public Student(int id, String nameString) {        this.id = id;        this.nameString = nameString;    }    @Override    public String toString() {        // TODO Auto-generated method stub        for (Subject subject : list) {            return "姓名:" + nameString + "学号:" + id + "成绩单:" + subject.nameBook                    + subject.Score;        }        return null;    }    public Student() {    }}// 学科类class Subject {    String nameBook;    double Score;    public Subject(String nameBook, double score) {        super();        this.nameBook = nameBook;        Score = score;    }}
原创粉丝点击