📄 scorestatistics.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 + -