Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将文本解析为双数组_Java_Arrays_Parsing_Double_Text Files - Fatal编程技术网

Java 将文本解析为双数组

Java 将文本解析为双数组,java,arrays,parsing,double,text-files,Java,Arrays,Parsing,Double,Text Files,要运行算法,我需要使用文本文件作为输入。 输入示例: 105.0,45.0,22.0 240.0,3.0,50.0 4344.0,4.0,55.0 在这个算法中,我需要计算每一行(第一行本身、第二行和第三行、第二行本身和第三行、第三行本身和第三行、第三行本身和第一行、第二行本身)。输出是一个具有双值的距离矩阵(输入*输入矩阵,在这种情况下为3*3矩阵) 到目前为止,我的代码如下所示: public class Distance{ public static double calcDist(in

要运行算法,我需要使用文本文件作为输入。 输入示例:

105.0,45.0,22.0
240.0,3.0,50.0
4344.0,4.0,55.0

在这个算法中,我需要计算每一行(第一行本身、第二行和第三行、第二行本身和第三行、第三行本身和第三行、第三行本身和第一行、第二行本身)。输出是一个具有双值的距离矩阵(输入*输入矩阵,在这种情况下为3*3矩阵)

到目前为止,我的代码如下所示:

public class Distance{

public static double calcDist(int dim, double[] x, double[] y) {
//do computation here
//output printed here
}

public static void main(String[] args) throws IOException {

String str;
String inputX;
String inputY;
double arrayX = 0;
double arrayY = 0;
BufferedReader in = new BufferedReader(new FileReader("C:/input.txt"));


List<String> list = new ArrayList<String>();

while((str = in.readLine()) != null){
        list.add(str);
}


for(int i=0; i < list.size(); i++){
    for(int j=0; j < list.size(); j++){

        inputX = list.get(i);
        arrayX = Double.parseDouble(inputX);

        inputY = list.get(j);
        arrayY = Double.parseDouble(inputY);

        double[] x = {arrayX};
        double[] y = {arrayY};

    calcDist(x.length,x,y);
    }

}
公共类距离{
公共静态双计算列表(整数尺寸,双[]x,双[]y){
//在这里做计算
//输出打印在这里
}
公共静态void main(字符串[]args)引发IOException{
字符串str;
字符串输入;
字符串输入;
双数组x=0;
双阵列=0;
BufferedReader in=new BufferedReader(新文件读取器(“C:/input.txt”);
列表=新的ArrayList();
而((str=in.readLine())!=null){
添加(str);
}
对于(int i=0;i
distance方法本身运行良好,但我在main.Numberformatexceptions上遇到了各种错误。我想应该在解析中的某个地方。感谢帮助。
提前感谢!

您的
inputX=stringArr[i].toString();
显然是
0
或无法解析为
Double
的东西。请检查并设置一些if条件,如果对您有意义的话


希望这对分析有所帮助,我想,

应该在解析的某个地方——你的编译器没有给你错误的行号吗?此外,如果你把
105.0,45.0,22.0
解析为双精度,你希望得到什么
有什么理由不使用吗?更进一步,为什么要将一个完美的
列表复制到一个数组中,然后在它上面循环呢?最后,在
上拆分到哪里?还有一件事,在
字符串上调用
toString
有什么用?@devnull这将是运行时,实际上你不会在任何地方拆分字符串。Y你可能在某个地方需要它:
.split(“,”)