📄 scoreanalyse.java
字号:
package 学生考试成绩分析程序;import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.io.*;import java.util.*;public class ScoreAnalyse extends JFrame implements ActionListener{ JLabel jlHigh,jlLow,jlAverage; JTextField jtHigh,jtLow,jtAverage; JButton jbExit; static double scoreH=-1,scoreL=111,sum=0; static int m,n,count=0; static String[] line; static String[] class1; static String[] scourse; static String[] score; public ScoreAnalyse(String scoreh,String scorel,String scorea) { jlHigh=new JLabel("最高分"); jlLow=new JLabel("最低分"); jlAverage=new JLabel("平均分"); jtHigh=new JTextField(scoreh); jtLow=new JTextField(scorel); jtAverage=new JTextField(scorea); jbExit=new JButton("退出"); JPanel jpanel1=new JPanel(); JPanel jpanel2=new JPanel(); jpanel1.setLayout(new GridLayout(0,4)); jpanel1.add(jlHigh); jpanel1.add(jtHigh); jpanel1.add(jlLow); jpanel1.add(jtLow); jpanel1.add(jlAverage); jpanel1.add(jtAverage); jpanel2.add(jbExit); jbExit.addActionListener(this); getContentPane().add(jpanel1,BorderLayout.CENTER); getContentPane().add(jpanel2,BorderLayout.SOUTH); this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); this.setTitle("分数分析"); this.setLocation(450,300); this.setSize(350,150); this.setVisible(true); count=0; scoreH=-1; scoreL=111; sum=0; m=0; n=0; } public ScoreAnalyse(String Class,String course) { try{ BufferedReader input =new BufferedReader(new FileReader("score.txt")); double sc; String L=input.readLine(); StringTokenizer tokenizer=new StringTokenizer(L,"*"); m=tokenizer.countTokens(); line=new String[m]; class1=new String[m/7]; scourse=new String[m/7]; score=new String[m/7]; for(int i=0;tokenizer.hasMoreTokens();i++) { line[i]=tokenizer.nextToken(); } for(int j=0,k=1;j<m;j++,k++) { if(k==1){ class1[n]=line[j]; scourse[n]=line[j+1]; score[n]=line[j+4]; n++; } if(k==7){ k=0; } } String s1,s2; StringTokenizer scanner1=new StringTokenizer(Class); StringTokenizer scanner2=new StringTokenizer(course); s1=scanner1.nextToken(); s2=scanner2.nextToken(); for(int j=0;j<m/7;j++) { if(class1[j].equals(s1)&&(scourse[j].equals(s2))) { sc=Double.parseDouble(score[j]); if(sc>scoreH) scoreH=sc; if(sc<scoreL) scoreL=sc; sum=sum+sc; count++; } } input.close(); } catch(Exception e) { JOptionPane.showMessageDialog(null, "分析失败"); } String sH= String.valueOf(scoreH) ; String sL= String.valueOf(scoreL) ; String sA= String.valueOf((int)(100*sum/count)/100.0) ; new ScoreAnalyse(sH,sL,sA); } public void actionPerformed(ActionEvent e) { if(e.getSource()==jbExit){ scoreH=-1; scoreL=111; sum=0; m=0; n=0; this.setVisible(false); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -