首页 > 解决方案 > Java:在我的程序中将文件数据转换为可用数据时遇到问题。有小费吗?

问题描述

错误是无法将 arraylist 转换为 double[]。double [] data = {1, 2, 3, 4, 4} 在我的函数中工作我如何将文件数据转换为我的函数可用的数据

public static void main(String[] args) {
    double x;
    ArrayList<Double> rawdata = new ArrayList<Double>();
    Scanner inputStream = null;
    double [] data = rawdata; //error: cannot conver arraylist<double> to double[]
    // double [] data = {1, 2, 3, 4, 4} works in my functions
    try {
        inputStream = new Scanner( new File( "RawData.txt" ) );

    }
    catch ( FileNotFoundException e) {
        System.out.println("Error opening file; program aborted.");
        System.exit(1);
    }
    while(inputStream.hasNextDouble()) {
        x = inputStream.nextDouble();
        rawdata.add(x);

    }
    inputStream.close();
    // Maximum value
    double maxi = data[0];
    for(int i = 0; i < data.length; i++ ) {
        if(data[i] > maxi) {
            maxi = data[i];
        }
    }
    // Minimum Value
    double mini = data[0];
    for(int i = 0; i < data.length; i++ ) {
        if(data[i] < mini) {
            mini = data[i];
        }
    }

标签: javaarrays

解决方案


使用 Java 8,您可以使用流:

double[] array = list.stream().mapToDouble(i -> i).toArray();

推荐阅读