假设有一个文件内容形如下。

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;
    }

}