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

📄 scorestatistics.java

📁 成绩分析器 可以用来实现一些相关功能
💻 JAVA
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.util.*;
public class ScoreStatistics extends JDialog implements ActionListener{
	Hashtable baseInformation=null;
	Student student[];
	JTextArea ta;
	Button bt;
	Three three[];
	int size;
	FileInputStream inOne=null;
  	ObjectInputStream inTwo=null;
  	File file=null;
  	public ScoreStatistics(JFrame f,File file){
  		super(f,"成绩统计信息",false);
  		this.file=file;
  		ta=new JTextArea(6,20);
  		ta.setEditable(false);
  		bt=new Button("确定");
  		bt.addActionListener(this);
  		try{
  			inOne=new FileInputStream(file);
            inTwo=new ObjectInputStream(inOne);
            baseInformation=(Hashtable)inTwo.readObject();
            inOne.close();
            inTwo.close();
        }
        catch(Exception ee){
        }
        size=baseInformation.size();
        student=new Student[size];
        three=new Three[size];
        Enumeration e=baseInformation.elements();
        int t=0;
        for(;e.hasMoreElements();)
        	student[t++]=(Student)e.nextElement();
        for(int i=0;i<size;i++)
        	three[i]=new Three(Integer.parseInt(student[i].getMath()),Integer.parseInt(student[i].getEnglish()),Integer.parseInt(student[i].getComputer()),student[i].getNumber(),student[i].getName());
        ta.setText(ta.getText()+"                       数学  英语  计算机\n");
        int aver1,sum1=0,aver2,sum2=0,aver3,sum3=0;
        for(int i=0;i<size;i++){
        	sum1=sum1+three[i].getMath();
        	sum2=sum2+three[i].getEnglish();
        	sum3=sum3+three[i].getComputer();
        }
        aver1=sum1/size;aver2=sum2/size;aver3=sum3/size;
        ta.setText(ta.getText()+" 平    均    分"+"   "+aver1+"       "+aver2+"       "+aver3+"\n");
        int maxMath=three[0].getMath(),maxEnglish=three[0].getEnglish(),maxComputer=three[0].getComputer();
        for(int i=1;i<size;i++){
        	if(three[i].getMath()>maxMath) maxMath=three[i].getMath();
        	if(three[i].getEnglish()>maxEnglish) maxEnglish=three[i].getEnglish();
        	if(three[i].getComputer()>maxComputer) maxComputer=three[i].getComputer();
        }
        ta.setText(ta.getText()+" 最    高    分"+"   "+maxMath+"       "+maxEnglish+"       "+maxComputer+"\n");
        int minMath=three[0].getMath(),minEnglish=three[0].getEnglish(),minComputer=three[0].getComputer();
        for(int i=1;i<size;i++){
        	if(three[i].getMath()<minMath) minMath=three[i].getMath();
        	if(three[i].getEnglish()<minEnglish) minEnglish=three[i].getEnglish();
        	if(three[i].getComputer()<minComputer) minComputer=three[i].getComputer();
        }
        ta.setText(ta.getText()+" 最    低    分"+"   "+minMath+"       "+minEnglish+"       "+minComputer+"\n");
        int n1=0,n2=0,n3=0;
        for(int i=0;i<size;i++){
        	if(three[i].getMath()<60) n1=n1+1;
        	if(three[i].getEnglish()<60) n2=n2+1;
        	if(three[i].getComputer()<60) n3=n3+1;
        }
        ta.setText(ta.getText()+" 不及格人数"+"    "+n1+"         "+n2+"          "+n3+"\n");
        int six1=0,six2=0,six3=0;
        for(int i=0;i<size;i++){
        	if(three[i].getMath()>=60&&three[i].getMath()<=69) six1=six1+1;
        	if(three[i].getEnglish()>=60&&three[i].getEnglish()<=69) six2=six2+1;
        	if(three[i].getComputer()>=60&&three[i].getComputer()<=69) six3=six3+1;
        }
        ta.setText(ta.getText()+" 60--69人数"+"    "+six1+"         "+six2+"          "+six3+"\n");
        int seven1=0,seven2=0,seven3=0;
        for(int i=0;i<size;i++){
        	if(three[i].getMath()>=70&&three[i].getMath()<=79) seven1++;
        	if(three[i].getEnglish()>=70&&three[i].getEnglish()<=79) seven2++;
        	if(three[i].getComputer()>=70&&three[i].getComputer()<=79) seven3++;
        }
        ta.setText(ta.getText()+" 70--79人数"+"    "+seven1+"         "+seven2+"          "+seven3+"\n");
        int eight1=0,eight2=0,eight3=0;
        for(int i=0;i<size;i++){
        	if(three[i].getMath()>=80&&three[i].getMath()<=89) eight1++;
        	if(three[i].getEnglish()>=80&&three[i].getEnglish()<=89) eight2++;
        	if(three[i].getComputer()>=80&&three[i].getComputer()<=89) eight3++;
        }
        ta.setText(ta.getText()+" 80--89人数"+"    "+eight1+"         "+eight2+"          "+eight3+"\n");
        int nine1=0,nine2=0,nine3=0;
        for(int i=0;i<size;i++){
        	if(three[i].getMath()>=90) nine1++;
        	if(three[i].getEnglish()>=90) nine2++;
        	if(three[i].getComputer()>=90) nine3++;
        }
        ta.setText(ta.getText()+" 90以上人数"+"    "+nine1+"         "+nine2+"          "+nine3+"\n");
        getContentPane().add(ta,BorderLayout.CENTER);
        getContentPane().add(bt,BorderLayout.SOUTH);
        pack();
        setLocationRelativeTo(f);
    }
    public void actionPerformed(ActionEvent e){
    	setVisible(false);
    	dispose();
    }
}

⌨️ 快捷键说明

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