12,343,68,-32,-99,32,1.99
1 要求 将文件读入成字符串
2 将字符串数字转换成字符串数组
3 将字符串数组转换成double 数组
4 排序
5 求最大
6 求最小
7 求和
8 求平均
1.通过流读取文件内容,获得字符串
2.对字符串进行分割,采用string.split(","),通过逗号,将他们变成字符串数组
3.遍历进行类型转换,可以通过for循环语句进行
4.对数组排序可以使用默认升序,JDK的sort的方法,或者循环使用冒泡排序和选择排序,
5.如果是升序排序,最小值就是第一个元素,最大值就是最后一个元素
6.求和求平均都可以使用for循环来进行累加,累加得到求和,将结果除以数组长度就可得到平均值
如果对你有帮助,记得采纳一下哦~,谢谢♪(^∇^*)
先用流读取这个文件内容,如需完整需求可以私信进一步协助:
package com.test.server;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;
public class Test2 {
public static void main(String[] args) {
Reader fr = null;
int length = 0;
char ch [] = null;
//创建字符输入流对象,负责读取文件
try {
fr =new FileReader("C:\\text.txt");
//创建中转站数组,存放读取的内容
ch = new char[1024];
//读取文件内容到ch数组中
length = fr.read(ch);
//输出保存在ch数组中文件内容
System.out.println(new String(ch ,0,length));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(null!=fr){
try {
fr.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
1、使用io流将文件数据读到String对象中。
2、通过String对象的split(“,”)方法将其分割为一个String数组。
3、使用Double.parseDouble()方法将数组的每个元素转成double类型,并保存到double数组。
4、使用冒泡排序将double数组排序
5,6、排序好,很容易找到最大最小值,就是头尾两个数
7、使用循环,遍历所有元素并相加
8、使用7步骤的结果,除以数组大小得到平均值
/** * @author qianTo * @desc <描述> * @create 2021-06-24 9:59 */ import java.io.*; import java.util.Arrays; import java.util.Comparator; import java.util.List; import java.util.stream.Collectors; /** * 12,343,68,-32,-99,32,1.99 */ public class Test208 { public static void main(String[] args) throws IOException { Test208 test208 = new Test208(); Double[] doubleList = test208.getDoubleList("E:\\a.txt"); Double[] sortDoubleArr = test208.sortDoubleArr(doubleList); for (Double each : sortDoubleArr) { System.out.println(each); } } public Double[] getDoubleList(String path) throws IOException { File file = new File(path); InputStreamReader isr = new InputStreamReader(new FileInputStream(file)); String line; StringBuffer sb = new StringBuffer(); BufferedReader br = new BufferedReader(isr); while ((line = br.readLine()) != null) { sb.append(line); } br.close(); isr.close(); String[] StringArr = sb.toString().split(","); for (String each : StringArr) { double v = Double.parseDouble(each); } Double[] doubleArr = (Double[]) Arrays.stream(StringArr).map(x -> { return Double.parseDouble(x); }).toArray(Double[]::new); return doubleArr; } // 排序 public Double[] sortDoubleArr(Double[] doubleArr) { Double[] sortDoubleArr = (Double[]) Arrays.stream(doubleArr).sorted().toArray(Double[]::new); return sortDoubleArr; } }