编写一个应用程序,从文件a.txt中读取数据,筛选出文件中的数字字符,并将其转换成double类型是,对所有的数据求和,并求出平均值,把数据数组与计算结果输出到文件b.txt中。如图:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class liu {
public static void main(String args[]) {
int n=-1;
byte [] a=new byte[100];
double sum=0;
int p=0;
try{
File f=new File("F://面对对象分析与设计//第二学期","a.txt");
InputStream in = new FileInputStream(f);
while((n=in.read(a,0,100))!=-1) {
String s=new String (a,0,n);
String regex="\\D+";
String[] n2=s.split(regex);
for(int j=0;j<n2.length;j++){
sum = sum+Integer.parseInt(n2[j]);
p++;
}
String s4=(" 和: "+sum+" "+"平均值:"+(sum/p++));
byte[] b2=s4.getBytes();
for(int i=0;i<n2.length;i++){
}
for(int i=0;i<n2.length;i++) {
if(i==0) {
System.out.print("b数据是:["+n2[i]);
}
else {
System.out.print(" "+n2[i]);
}
}
System.out.print("]");
File f2=new File("F://面对对象分析与设计//第二学期","b.txt");
OutputStream out = new FileOutputStream(f2);
byte[] b3="txt的数据是:[".getBytes();
byte[] b4=" ".getBytes();
for(int i=0;i<n2.length;i++){
double d=Double.parseDouble(n2[i]);
String s5=(""+d+"");
byte[] b1=s5.getBytes();
if(i==-0){
out.write(b3);
out.write(b1);
}
else{
out.write(b4);
out.write(b1);
}
}
byte[] b6="]".getBytes();
out.write(b6);
out.write(b2);
}
}
catch(Exception e) {
System.out.println("Error"+e);
}
}
}
读取文件a:
编写文件b: