⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 courseulities.java

📁 一个可以存储和打印成绩单的系统
💻 JAVA
字号:
package org.minjey.cjsjk.report;import java.text.NumberFormat;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.HashMap;import java.util.Iterator;import java.util.List;import org.minjey.cjsjk.model.Course;import org.minjey.cjsjk.model.Major;import org.minjey.cjsjk.model.Student;import org.minjey.cjsjk.model.StudentCourse;public class CourseUlities {	private Major major;	private Course course;	private int countpath;	private int countunpath;	private double averagescore;	private String snames;	private int stulength;	private List students;		public CourseUlities(Major major, Course course) {		this.major = major;		this.course = course;		stulength = major.getStudents().size();		initCourse();	}		public int getGradeLength() {		return students.size();	}		public Student getStudent(int i) {		if(i >= students.size()) {			return null;		} else {			return (Student)students.get(i);		}	}		private List<Student> initOrder(Major major) {		HashMap<Integer, Object> shms = major.getStudents();		List list = new ArrayList(shms.values());		MyComparator comp = new MyComparator();		Collections.sort(list, comp);		return list;	}		public String getBkmd() {		return snames;	}		public String getAverageScore() {		return String.valueOf(averagescore);	}		public int getPathCount() {		return countpath;	}		public int getUnpathCount() {		return countunpath;	}		public Course getCourse() {		return course;	}		public String getStudentPoint(int stuid) {		StudentCourse sc = (StudentCourse)this.course.getStudentcourses().get(stuid);		String sgrade = sc.getGrade();		try{			float fgrade = Float.parseFloat(sc.getGrade());			fgrade = (fgrade - 50) / 10;			if(fgrade < 1) {				return "0.0";			} else {				NumberFormat fm = NumberFormat.getInstance();				fm.setMaximumFractionDigits(2);				return fm.format(fgrade);			}		} catch (NumberFormatException e){			if(sgrade.equals("优秀")) {				return "4.0";			} else if(sgrade.equals("良好")) {				return "3.0";			} else if(sgrade.equals("中等")) {				return "2.0";			} else if(sgrade.equals("及格")) {				return "1.0";			} else if(sgrade.equals("不及格")){				return "0.0";			} else {				return " ";			}		}			}		private void initCourse() {		HashMap<Integer, Object> students = major.getStudents();		HashMap<Integer, Object> grades = course.getStudentcourses();		this.students = new ArrayList();		Iterator it = students.values().iterator();				Student student = null;		StudentCourse sc = null;		double sum = 0;		int hg = 0;		String snames = new String();				while(it.hasNext()) {			student = (Student)it.next();			sc = (StudentCourse)grades.get(student.getId());			if(sc == null) {				snames = snames + student.getName() + ", ";			} else {				String grade = sc.getGrade();				try{					double fs = Double.valueOf(grade);					sum = sum + fs;					if(fs >= 60) {						hg ++;					} else {						snames = snames + student.getName() + ", ";					}				} catch (NumberFormatException e){					if(grade.startsWith("优")) {						sum = sum + 90;						hg ++;					} else if(grade.startsWith("良")) {						sum = sum + 80;						hg ++;					} else if(grade.startsWith("中")) {						sum = sum + 70;						hg ++;					} else if(grade.startsWith("及")) {						sum = sum + 60;						hg ++;					} else if(grade.startsWith("不")) {						sum = sum + 50;						snames = snames + student.getName() + ", ";					} else if(grade.trim().length() == 0){						snames = snames + student.getName() + ", ";						continue;					}				}				this.students.add(student);			}		}		averagescore = sum / this.students.size();		countpath = hg;		countunpath = this.students.size() - countpath;		this.snames = snames;	}		private class MyComparator implements Comparator{		private int compare(Student s1, Student s2){			if(s1.getSorder() < s2.getSorder()){				return -1;			}else if(s1.getSorder() == s2.getSorder()){				return 0;			}else{				return 1;			}		}		public int compare(Object o1, Object o2) {			return compare((Student) o1, (Student) o2);		}	}	public int getStulength() {		return stulength;	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -