簡體   English   中英

將文本解析為雙數組

[英]Parsing Text to double Array

要運行算法,我需要使用文本文件作為輸入。 輸入示例:

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

}

距離方法本身就可以運行,但是我主要遇到各種錯誤。 Numberformatexceptions。 我猜應該在解析的某個地方。 幫助表示贊賞。 提前致謝!

您的inputX = stringArr[i].toString(); 顯然是0或無法解析為Double 請檢查並在其中設置一些if條件(如果對您有意義)。

希望能有所幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM