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

📄 score.java

📁 图形界面
💻 JAVA
字号:
package 对参赛选手的得分进行处理图形界面soft30;
import java.awt.BorderLayout;
import java.awt.FileDialog;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.text.DecimalFormat;
import java.util.StringTokenizer;

import javax.swing.*;


public class Score extends JFrame {

	private JTextArea textArea;
	String filepath;
	String filepath2;
	 double fScore[];
	 final int PingWei=7;
	/**
	 * @param args
	 */
	public static void main(String[] args) 
	{
		new Score();

	}
	public Score() {
		super("得分统计");
		getContentPane().setLayout(null);
		this.setSize(500, 400);

		final JPanel panel = new JPanel();
		panel.setBounds(0, 0, 492, 63);
		final FlowLayout flowLayout = new FlowLayout();
		flowLayout.setVgap(20);
		flowLayout.setHgap(30);
		panel.setLayout(flowLayout);
		getContentPane().add(panel);

		final JButton button = new JButton();
		button.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) 
			{
				FileDialog fd=new FileDialog(Score.this);//添加浏览文件的面板
				fd.setVisible(true);//显示面板
				 filepath=fd.getDirectory()+fd.getFile();
				  filepath2=fd.getDirectory()+"f2.txt";
				 if (!filepath.equals("") &&filepath!=null &&filepath.endsWith("f1.txt") )
						
					{
					 textArea.append(readFile()+"\n");
						Runtime rt = Runtime.getRuntime();
						try {				
						rt.exec("notepad.exe "+"f1.txt");
						
						} catch (IOException ex) {
							
						System.out.println(ex.getMessage());
						
						}	
					}
				else 
					
				JOptionPane.showMessageDialog(Score.this, "输入出错 请输入f1.txt文件");
				 
				 
			}
		});
		button.setText("打开文件");
		panel.add(button);

		final JButton button_1 = new JButton();
		button_1.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg1) 
			{
				
				showScore( textArea);
			}
		});
		button_1.setText("统计");
		panel.add(button_1);

		final JButton button_2 = new JButton();
		button_2.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg2) 
			{
				write();
				Runtime rt = Runtime.getRuntime();
				try {				
				rt.exec("notepad.exe "+"f2.txt");
				
				} catch (IOException ex) {
					
				System.out.println(ex.getMessage());
				
				}	
				
			}
		});
		button_2.setText("写入f2.txt");
		panel.add(button_2);

		final JScrollPane scrollPane = new JScrollPane();
		scrollPane.setBounds(80, 106, 332, 171);
		getContentPane().add(scrollPane);

		textArea = new JTextArea();
		scrollPane.setViewportView(textArea);
		
		this.setVisible(true);//显示面板
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭按钮
		}

	
	String readFile()
	{
		File file=new File(filepath);
		if (file.exists()){
			try{
				BufferedReader in=new BufferedReader(new FileReader(file));
				char buf[]=new char[10000];
				in.read(buf);in.close();
				return String.valueOf( buf).trim();
				//return in.readLine();
			}catch(Exception e){}
			}
		return "sorry";
		
	}
	
	
	public  void showScore( JTextArea jt)
	{
		  
		double[][]a=new double[5][7];
		String[][]b=new String[5][9];
		String[]c=new String[5];
		
		c=readFile().split("\n");
		for(int i=0;i<5;i++){
		 
		 
		b[i]= c[i].split(" ");
		
	
		}   
		for(int i=0;i<5;i++)
		{
			for(int j=0;j<7;j++)
			{
				a[i][j]=Double.parseDouble(b[i][j+2]) ;
			}
		}
			
			
		jt.append("参赛号 姓 名 最高分 最低分 累积分 最后得分\n");
		
		for(int i=0;i<5;i++){
			
				jt.append("    "+b[i][0]+"    ");
			jt.append(" "+b[i][1]+"    ");
			
			jt.append(""+max(a[i])+"     "+min(a[i])+"        "+sum(a[i])+"    "+"    "+finalScore(a[i])+"    ");
		
			
			jt.append("\n");
		}  
	
	}
	public static double max(double[] a){
		double max=a[0];
		for(int i=1;i<a.length;i++){
			if(max<a[i]) 
				max=a[i];		
		}
		return max;
	}                         //max方法
	
	
	public static double min(double[] a){
		double min=a[0];
		for(int i=1;i<a.length;i++){
			if(min>a[i]) 
				min=a[i];		
		}
		return min;
	}                           //min方法
	
	public static double sum(double[] a){
		double sum=0;
		for(int i=0;i<a.length;i++)
			sum=sum+a[i];	
		sum=sum-max(a)-min(a);
		DecimalFormat df=new DecimalFormat("0.00");
		sum=Double.parseDouble(df.format(sum));
		return sum;
	}            
	
	public static double finalScore(double[] a){
		double score=0;
		score=sum(a);
		score=score/5;
		DecimalFormat df=new DecimalFormat("0.0");
		score=Double.parseDouble(df.format(score));
		return score;
	}        
	public void write()
	{
		
		double[][]a=new double[5][7];
		String[][]b=new String[5][9];
		String[]c=new String[5];
		
		c=readFile().split("\n");
		for(int i=0;i<5;i++){
		 
		 
		b[i]= c[i].split(" ");
		
	
		}   
		for(int i=0;i<5;i++)
		{
			for(int j=0;j<7;j++)
			{
				a[i][j]=Double.parseDouble(b[i][j+2]) ;
			}
		}
		
	  
		File file2=new File(filepath2);
		
		try{
			BufferedWriter out = new BufferedWriter(new FileWriter(file2));
			out.write("参赛号      姓 名     最高分    最低分   累积分    最后得分");
			out.newLine();
			for(int i=0;i<5;i++){
				
				out.write("    "+b[i][0]+"    ");
				out.write("    "+b[i][1]+"    ");
				out.write(""+max(a[i])+"     "+min(a[i])+"        "+sum(a[i])+"    "+"    "+finalScore(a[i])+"    ");
				out.newLine();
			} 
		     out.close(); 
			
		}catch(Exception e){}
		
		 
	}

}

⌨️ 快捷键说明

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