【发布时间】:2017-05-01 05:52:49
【问题描述】:
我有一个文件:
A,0.3
B,0.1
C,0.2
...
我希望得到的数组具有以下形式:
String[] symbols = {A, B, C, ...}
Double[] frequencies = {0.3, 0.1, 0.2, ...}
我已经使用 ArrayList 解决了这个问题(.add() 很好),但是在一些设计决策之后,我想要常规数组中的数据。显然我下面的实现不起作用,但它是我最接近的:
while (scan.hasNextLine()) {
count ++; // Number of lines incremented
String[] parts;
parts = r.split(",");
// Store symbols into its own array
for(int i = 0; i < count; i ++)
syms[i] = parts[0];
// Store frequencies into its own array
for(int i = 0; i < count; i ++)
freqs[i] = Double.parseDouble(parts[1]);
}
Count 跟踪扫描行的数量(条件为 true),起初这对我来说似乎没有必要,但我现在正在尝试。因此得到帮助。谢谢。
【问题讨论】:
-
如何事先计算出数组的大小?
-
尝试使用集合,因为当您不知道文件中的行数时,使用数组不是一种编程习惯
-
数组能做什么,数组列表不能做什么?
-
@ScaryWombat 我想计算读取的行数就可以了。该文件不会更改列出的格式
-
不,您需要将整个文件读取两次。如果出于某种奇怪的原因您希望数据位于数组中,最初将代码放入 ArrayList 中,然后转换
toArray仍然会更容易和更清晰
标签: java arrays string delimiter