scoreaverage.java

来自「成绩分析器 可以用来实现一些相关功能」· Java 代码 · 共 65 行

JAVA
65
字号
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.util.*;
public class ScoreAverage extends JPanel{
	Hashtable baseInformation=null;
	Student student[];
	Three three[];
	int size;
	FileInputStream inOne=null;
  	ObjectInputStream inTwo=null;
  	FileOutputStream fos=null;
  	DataOutputStream dos=null;
  	File file=null,averageFile=null;
  	public ScoreAverage(File file){
  		this.file=file;
  		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());
        averageFile=new File("各人平均成绩排序.txt");
        try{
        	fos=new FileOutputStream(averageFile);
       		dos=new DataOutputStream(fos);
       		int i,j,big;
       		Three temp;
       		for(i=0;i<size-1;i++){
       			big=i;
       			for(j=i+1;j<size;j++)
       				if((three[j].getMath()+three[j].getEnglish()+three[j].getComputer())>(three[big].getMath()+three[big].getEnglish()+three[big].getComputer())) big=j;
       			if(big!=i){
       				temp=three[i];
       				three[i]=three[big];
       				three[big]=temp;
       			}
       		}
       		dos.writeUTF("***各人平均成绩排序如下\r\n");
       		for(i=0;i<size;i++){
       			float aver=((float)three[i].getMath()+(float)three[i].getEnglish()+(float)three[i].getComputer())/3;
       			dos.writeUTF("第"+(i+1)+"名"+"***"+three[i].getNumber()+"***"+three[i].getName()+"***数学:"+three[i].getMath()+"***英语:"+three[i].getEnglish()+"***计算机:"+three[i].getComputer()+"***平均分:"+aver+"\r\n");
       		}
       		dos.close();
       		String warning="各个学生的平均成绩排序文件已生成,您可以查看相应文件!";
            JOptionPane.showMessageDialog(this,warning,"提示",JOptionPane.OK_CANCEL_OPTION);
        }
        catch(Exception ee){
        }
  	}
}

⌨️ 快捷键说明

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