gpt4 book ai didi

java - 将字符串数组转换为 double 组

转载 作者:行者123 更新时间:2023-12-01 18:51:59 25 4
gpt4 key购买 nike

我正在尝试将 txt 文件中的数字列表转换为数字数组。有 26 个数字,每个数字位于文本文件中的不同行上。我的代码是

import java.io.*;
public class rocket {

public static void main(String[] args) throws IOException, FileNotFoundException
{
BufferedReader b = new BufferedReader(new InputStreamReader(new FileInputStream("/Users/Jeremy/Documents/workspace/altitude.txt")));
String[] stringArray = new String[25];
double[] doubleArray = new double[stringArray.length];
for(int i=0; i<25; i++)
{
stringArray[i] = b.readLine();
doubleArray[i] = Double.parseDouble(stringArray[i]);
}
for(int i = 0; i<doubleArray.length; i++)
{
System.out.println(doubleArray[i]);
}
}
}

但是每次运行它时我都会遇到数字格式异常。如果我尝试打印出字符串,我会得到一个 indexOutOfBounds 异常

最佳答案

有问题时,您提到有 26 个字符串,因此需要声明

String[] stringArray = new String[26];

当 readline 返回并带有 linbreak 时,会发生数字格式异常。要读取行,您可以执行以下操作

 public String[] readLines(String filename) throws IOException {
FileReader fileReader = new FileReader(filename);
BufferedReader bufferedReader = new BufferedReader(fileReader);
List<String> lines = new ArrayList<String>();
String line = null;
while ((line = bufferedReader.readLine()) != null) {
lines.add(line);
}
bufferedReader.close();
return lines.toArray(new String[lines.size()]);
}

所以按照这个逻辑,你可以获得双倍

public static Double[] readLines(String filename) throws IOException {
FileReader fileReader = new FileReader(filename);
BufferedReader bufferedReader = new BufferedReader(fileReader);
List<Double> lines = new ArrayList<Double>();
String line = null;
while ((line = bufferedReader.readLine()) != null) {
lines.add(Double.parseDouble(line));
}
bufferedReader.close();
return lines.toArray(new Double[lines.size()]);
}

关于java - 将字符串数组转换为 double 组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15583684/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com