我已經在Java以下的方法,其讀取數字(製表符分隔)的一個文件,並把該號碼在雙打的向量爪哇 - 解析從文件含有雙雙和int
public static Vector<Double> getData(String path,int dataNum) throws Exception
{
File file = new File(path);
Scanner scan = new Scanner(file);
scan.useDelimiter("\t");
Vector<Double> content = new Vector<Double>();
int limit = 0;
while(scan.hasNext() && limit < dataNum)
{
content.add(Double.parseDouble(scan.next()));
limit++;
}
return content;
}
這是我的樣品文件
0 20000 -9.2149 1.6078 4.1023 0.0089185 0.0057066 0.015156
然而,當我運行代碼,我收到以下錯誤
Exception in thread "main" java.lang.NumberFormatException: For input string: "0
0"
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1222)
at java.lang.Double.parseDouble(Double.java:510)
at midterm.main.getData(main.java:91)
at midterm.main.main(main.java:123)
我相信我錯誤在於我解析的是double,但是我的文件包含0和2000,並且java將它們視爲整數。但即使他們是整數,我希望他們被視爲雙打,並仍然進入我的載體。
點泛型:使用'矢量含量=新向量();'。這不是一個答案,但是如果你使用泛型,你應該這樣做。 –
2014-11-02 00:32:39
感謝您的回覆。我確實做了你所說的改變...但是,它仍然給我同樣的錯誤 – Masster 2014-11-02 00:33:46
如果選項卡分隔每個數字,我無法重現您的問題。 – 2014-11-02 00:34:00