,我有一個nooby問題。Java在這裏找到兩個新的java中的位數
我最近給這個txt文件:
新墨西哥州的阿爾伯克基,5352英尺,202.3°
科羅拉多州丹佛市,5280英尺,202.4°
明尼蘇達州明尼阿波利斯841腳,210.5°
伯明翰,阿拉巴馬州,644英尺,210.8°
底特律,密歇根,639英尺,210.8°
邁阿密,佛羅里達,11英尺,211.9°
哈利法塔,迪拜,2717英尺,207.1°
多倫多加拿大國家電視塔1815英尺208.7°
並被要求查找並打印出兩位數字。問題是我在嘗試使用Arrays.sort()
時不斷收到錯誤信息。
public static void main(String[] args) {
File mf = new File("C:\\file.txt");
ArrayList<String> inData = new ArrayList<String>();
String strline;
try {
FileInputStream fstream = new FileInputStream(mf);
BufferedReader br = new BufferedReader(new InputStreamReader(fstream));
while ((strline = br.readLine()) != null) {
strline = strline.trim();
if ((strline.length() != 0)) {
inData.add(strline);
}
}
br.close();
} catch (Exception e) {
System.err.println("Error CANNOT FIND FILE!");
}
//Calc median start
double median;
for (int i = 0; i < inData.size(); i++) {
String[] word = inData.get(i).split(", ");
double m = Double.parseDouble(word[3].substring(0, 5));
Arrays.sort(m);
if (m.length % 2 == 0) {
double middleNumOne = m[m.length/2 - 0.5]
double middleNumTwo = m[m.length/2 + 0.5]
System.out.println("Median:" + middleNumOne + "and" + middleNumTwo);
}
}
}
這是我到目前爲止。有人可以幫助我,並告訴我我錯過了什麼?
'm'不是數組 – silentprogrammer
我應該怎麼做才能將m轉換爲數組?或者我應該如何處理m來理清中位數? – duhNooby
你必須在你的'for'循環之前創建一個數組,然後在每次傳遞時在數組中添加'm'。 – moarCoffee