java - 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];
}
}
解决方案
使用 Java 8,您可以使用流:
double[] array = list.stream().mapToDouble(i -> i).toArray();
推荐阅读
- python - 测试 Python-socketio Emit
- python - 查找一列中的单词与其他列中的句子之间的“匹配”
- c# - WPF 绑定不更新 XAML 但调用了 PropertyChanged
- javascript - 从元素中单独获取 CSS 背景宽度和背景高度?
- reactjs - React 组件没有在我的项目中运行 componentDidmount,所以我得到错误 isEdit of undefined?
- java - 如何识别 Session 的所有者 - Spring-Boot Websockets
- docker - 无法在“circleci 本地执行”上运行“docker-compose build”
- python - 单击时销毁按钮(销毁错误)
- reactjs - Material UI Icons 在生产环境中失去了 displayName 属性?
- visual-studio-code - VS Code 调试器不再接受输入