📄 query.java
字号:
package 学生考试成绩分析程序;import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.io.*;import java.util.*;public class Query extends JFrame implements ActionListener{ static String number,course,score; JButton jbOk,jbExit; JTextField jtNumber,jtCourse,jtScore; JLabel jlNumber,jlCourse,jlScore; static int count=0; String s1=null,s2=null; static String[] score1; static String[] number1; static String[] name; static String[] score2; JComboBox jc; static String[] s; static String[] c; static int ccount=0; int m; public Query(){ try{ BufferedReader input=new BufferedReader(new FileReader("course.txt")); String line=input.readLine(); input.close(); StringTokenizer ss=new StringTokenizer(line,"*"); m=ss.countTokens(); s=new String[m]; c=new String[m/4]; for(int i=0;ss.hasMoreTokens();i++){ s[i]=ss.nextToken(); } for(int j=0,k=1;j<m;j++,k++){ if(k==2){ c[ccount]=s[j]; ccount++; } if(k==4) k=0; } Object[] O=new Object[m/4]; for(int i=0;i<m/4;i++) O[i]=c[i]; jc=new JComboBox(O); } catch(Exception e) { count=0; ccount=0; m=0; JOptionPane.showMessageDialog(null, "查找失败"); } JPanel jpanel=new JPanel(); JPanel jpLabel=new JPanel(); JPanel jpTextFile=new JPanel(); JPanel jpButton=new JPanel(); jpButton.setLayout(new FlowLayout()); jpLabel.setLayout(new GridLayout(3,1)); jpanel.setLayout(new GridLayout(2,1)); jpTextFile.setLayout(new GridLayout(3,1)); jlNumber=new JLabel(" 学号"); jlCourse =new JLabel(" 课程"); jlScore=new JLabel(" 分数"); jbOk =new JButton("确定"); jbExit=new JButton("退出"); jtNumber=new JTextField(""); jtScore=new JTextField(" 输出成绩区 "); jpLabel.add(jlNumber) ; jpTextFile.add(jtNumber); jpTextFile.add(jc); jpLabel.add(jlScore); jpTextFile.add(jtScore); jpButton.add(jbOk); jpButton.add(jbExit); jbOk.addActionListener(this); jbExit.addActionListener(this); getContentPane().add(jpLabel,BorderLayout.WEST); getContentPane().add(jpButton,BorderLayout.SOUTH); getContentPane().add(jpTextFile,BorderLayout.CENTER); } public void actionPerformed(ActionEvent e) { if(e.getSource()==jbOk) { number =jtNumber.getText(); course=jc.getSelectedItem().toString(); jtScore.setText(find(number,course)); count=0; ccount=0; m=0; } else if(e.getSource()==jbExit) { count=0; ccount=0; m=0; this.setVisible(false); } } public String find(String number,String course) { try { BufferedReader input1=new BufferedReader(new FileReader("score.txt")); Boolean eof=false; String line; line=input1.readLine(); StringTokenizer tokenizer=new StringTokenizer(line,"*"); int n=tokenizer.countTokens(); score1=new String[n]; number1=new String[n/7]; name=new String[n/7]; score2=new String[n/7]; input1.close(); for(int i=0;tokenizer.hasMoreTokens();i++) { score1[i]=tokenizer.nextToken(); } for(int j=0,k=1;j<n;j++,k++) { if(k==4){ number1[count]=score1[j-1]; name[count]=score1[j-2]; score2[count]=score1[j+1]; count++; } if(k==7){ k=0; } } StringTokenizer scanner1=new StringTokenizer(course); StringTokenizer scanner2=new StringTokenizer(number); s1=scanner1.nextToken(); s2=scanner2.nextToken(); for(int i=0;i<count;i++) { if((s1.equals(name[i]))&&(s2.equals(number1[i]))) { score= score2[i]; eof=true; } } if(!eof) score="没有找到符合条件的学生成绩"; } catch(Exception e) { count=0; ccount=0; m=0; JOptionPane.showMessageDialog(null, "查找失败"); } count=0; return score; } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -