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

📄 file.java

📁 是关于Java的数字问题
💻 JAVA
字号:
package 有关文件的;


import java.io.*;
import java.util.Arrays; 
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class file  extends JFrame 
   //implements ActionListener
   { 
	JTextArea tm= new JTextArea();//题目
	JLabel jLabel1 = new JLabel();//输入20个整数的标签
	  JLabel jLabel2 = new JLabel();//最大数标签
	  JLabel jLabel3 = new JLabel();//最小数标签
	  JLabel jLabel4 = new JLabel();//平均数标签
	  JTextField sr = new JTextField();
	  JTextField max = new JTextField();
	  JTextField min = new JTextField();
	  JTextField ave = new JTextField();
	  JTextArea sc = new JTextArea();
	  JButton dr = new JButton();//从文件读入
	  JButton xians = new JButton();//显示按钮
	  public file() {
		    try {
		      Init();
		    }
		    catch (Exception e) {
		      e.printStackTrace();
		    } 
	  }
	  private void Init() throws Exception {
		  
		    jLabel1.setFont(new java.awt.Font("Dialog", 0, 15));
		    jLabel1.setText("输入20个整数:");
		    jLabel1.setBounds(new Rectangle(40, 70, 150, 38));
		    this.getContentPane().setLayout(null);
		    jLabel2.setFont(new java.awt.Font("Dialog", 0, 15));
		    jLabel2.setText("最大值为:");
		    jLabel2.setBounds(new Rectangle(380, 200, 87, 35));
		    jLabel3.setFont(new java.awt.Font("Dialog", 0, 15));
		    jLabel3.setText("最小值为:");
		    jLabel3.setBounds(new Rectangle(380, 235, 87, 35));
		    jLabel4.setFont(new java.awt.Font("Dialog", 0, 15));
		    jLabel4.setText("平均值为:");
		    jLabel4.setBounds(new Rectangle(380, 270,87, 35));	
		    sr.setBackground(SystemColor.menu);
		    sr.setEditable(true);
		    sr.setText("");
		    sr.setBounds(new Rectangle(178, 72, 270, 50));
		 tm.setFont(new java.awt.Font("Dialog", 0, 15));
		  // tm.setBackground();
		   tm.setBackground(new Color(254, 175, 197));
			  tm.setText("  题目--从键盘输入20个正整数,从文件AIN.TXT中读入20个正整数,求该40个数的最大,最小及平均数,并把结果写入AOUT.TXT中,然后在文本框中显示结果");
			  tm.setBounds(new Rectangle(15, 15, 550, 50));
			  tm.setLineWrap(true);
		    sc.setText("");
		    sc.setBounds(new Rectangle(195, 165, 170, 170));
		    sc.setBackground(SystemColor.menu);
		    sc.setLineWrap(true);//实验文本域的自动换行
		    max.setText("");
		   max.setBounds(new Rectangle(470, 200, 114, 33));
		    min.setText("");
		    min.setBounds(new Rectangle(470, 235, 114, 33));
		    ave.setText("");
		    ave.setBounds(new Rectangle(470, 270, 114, 33));
		    dr.setBounds(new Rectangle(30,200, 160, 35));
		    dr.setFont(new java.awt.Font("Dialog", 0, 15));
		   dr.setText("从文件中读入数据");
		    dr.addActionListener(new file_dr_actionAdapter(this));
		    
		    xians.setText("显示结果");
		    xians.addActionListener(new file_xians_actionAdapter(this));
		    xians.setBounds(new Rectangle(450, 400, 100, 34));
		    xians.setFont(new java.awt.Font("Dialog", 0, 15));
		    
		    this.setResizable(false);
		    this.setTitle("Java的数字问题");
		    
		    this.getContentPane().add(tm, null);
		    this.getContentPane().add(jLabel1, null);
		    this.getContentPane().add(jLabel2, null);
		    this.getContentPane().add(jLabel3, null);
		    this.getContentPane().add(jLabel4, null);
		    
		    this.getContentPane().add(sr, null);
		    this.getContentPane().add(max, null);		   
		    this.getContentPane().add(min, null);
		    this.getContentPane().add(ave, null);		    
		    this.getContentPane().add(sc, null);
		    
		    this.getContentPane().add(dr, null);
		    this.getContentPane().add(xians, null);
		    
		    this.setBounds(200, 200, 600, 500);
		    this.setVisible(true);
		  }
		    
	  
		    
	  
		    	    
 public static void main(String [ ] args){ 
		  file file = new file();	 }
	
 
 
void dr_actionPerformed(ActionEvent e) {

	String str1=""; 

try { 
int x=0; 
FileInputStream in=new FileInputStream("e:/ain.txt"); 
double result = 0; 

while(x!=-1){ 
x=in.read(); 
if(x==-1)break; 
str1+=(char)x; }


String []str2=str1.split(" ");//正则表达试 这里会按" "空格来拆分字符串str1 
//double db[]=new double[str2.length]; //建立一个double 数组 长度与str1的相同 
//for(int i=0;i<str2.length;i++){ 
//db[i]= Double.parseDouble(str2[i]); //给新创建的double数组 赋值 
//sc.setText(String.valueOf(db[i]));//只显示最后一个,前面的数被覆盖
//sc.setText(String.valueOf(db));//会出现乱码

//result+=db[i]; //算结果 
//System.out.println(db[i]); 
//} //到这 double[]数组就有全部的值了 
sc.setText(String.valueOf(str1));


} catch (FileNotFoundException e1) { 

e1.printStackTrace(); 
} catch (IOException IOE) { 

IOE.printStackTrace(); 
} 
}





 void xians_actionPerformed(ActionEvent e) {
	String str=""; 
	String str1=""; 
try {
	
str=sr.getText(); 
int x=0;
double average=0;
FileInputStream in=new FileInputStream("e:/ain.txt"); 
double result = 0; 

while(x!=-1){ 
x=in.read(); 
if(x==-1)break; 
str1+=(char)x; }
String scat=str.concat(str1);//字符串的连接
sc.setText(String.valueOf(scat));


String []str2=scat.split(" ");//正则表达试 这里会按" "空格来拆分字符串str1 
double db[]=new double[str2.length]; //建立一个double 数组 长度与str1的相同 
for(int i=0;i<str2.length;i++){ 
db[i]= Double.parseDouble(str2[i]); //给新创建的double数组 赋值 
result+=db[i]; //算结果 
average=result/str2.length;
} 
Arrays.sort(db);//按照从大到小将db数组排序 
//System.out.println("最小值:"+db[0]);//取第0个乃最小值 
//System.out.println("最大值:"+db[db.length-1]);//取最后一个乃最大值 
//System.out.println("总共和:"+result); 
max.setText(String.valueOf(db[db.length-1]));
min.setText(String.valueOf(db[0]));
ave.setText(String.valueOf(average));
//File filePath=new File("temp");  //在当前目录下建目录,也可用绝对目录
//if(!filePath.exists( ))filePath.mkdir( );  //若目录不存在,则建之
//File fl=new File(filePath,"AOUT.TXT");  //在指定目录下建文件类对象
FileOutputStream fout=new FileOutputStream("AOUT.TXT"); 
DataOutputStream dout=new DataOutputStream(fout);
//ObjectOutputStream dout=new ObjectOutputStream(fout);

//System.out.println("请输入20个正整数,输入结束按# :");
//while((c=(char)System.in.read( ))!='#')  //键盘输入字符写到磁盘文件
//for(int i=0;i<str2.length*4;i++){ 
	//db[i]= Double.parseDouble(str2[i]); //给新创建的double数组 赋值 
        dout.writeBytes(scat); // }
//dout.writeObject(db);
//int len=f1.c.length;
//dout.close( );  //
//RandomAccessFile rf = new RandomAccessFile("AOUT.txt", "rw");
//rf.seek(rf.length());
//for(int i=0;i<str2.length;i++){ 
	//db[i]= Double.parseDouble(str2[i]); //给新创建的double数组 赋值 
//by=new byte[str2.length*4];
//by=Convert.ToByte(scat);
	//}

dout.close();
} catch (Exception e1) { 

e1.printStackTrace(); 
} 
}


}

class file_dr_actionAdapter implements java.awt.event.ActionListener {
	  file adaptee;

	 file_dr_actionAdapter(file adaptee) {
	    this.adaptee = adaptee;
	  }

	  public void actionPerformed(ActionEvent e) {
	    adaptee.dr_actionPerformed(e);
	  }
	}    
	    
	    
	    
class file_xians_actionAdapter implements java.awt.event.ActionListener {
	  file adaptee;

	 file_xians_actionAdapter(file adaptee) {
	    this.adaptee = adaptee;
	  }

	  public void actionPerformed(ActionEvent e) {
	    adaptee.xians_actionPerformed(e);
	  }
	}    

⌨️ 快捷键说明

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