2
要運行一個算法,我需要使用一個文本文件作爲輸入。 輸入示例:解析文本以加倍數組
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。我猜應該在解析的某個地方。幫助讚賞。 在此先感謝!
'應該對我guess'解析的地方 - 不你的編譯器給你的違規行數? – devnull
此外,你期望什麼試圖解析'105.0,45.0,22.0'爲雙? – devnull
如果將所有行讀入'String []',是否有任何理由不使用[適用於JDK的方法](http://docs.oracle.com/javase/7/docs/api/java /nio/file/Files.html#readAllLines(java.nio.file.Path,%20java.nio.charset.Charset))?此外,爲什麼要將一個完美的'List'複製到數組中才能遍歷它?最後,你在哪裏分裂','?還有一件事,在String中調用'toString'是什麼? –