【发布时间】:2014-12-17 11:30:10
【问题描述】:
我有一个读取文件的方法。文件的第一行有一个整数,表示还有多少行。之后的每一行都有一对两个双精度值(无逗号)
例如:
4
13 15
20.2 33.5
24 38
30 31
等等
我有两个静态双精度数组,x 和 y。对于第一行之后的每一行,我想将集合中的第一个 double 分配给 x,将集合中的第二个 double 分配给 y。 但是,我不能 100% 确定如何分配。到目前为止,这是我的代码:(请注意,该行是对未显示的另一个方法的调用)
Scanner input = new Scanner(System.in);
System.out.println("Enter the name of the data file.");
fileName = input.nextLine();
while(input.hasNext())
{
int num = input.nextInt(); // the first line integer
line.x[0] = input.nextDouble(); //the additional line x coordinate
line.y[0] = input.nextDouble(); //the additional line y coordinate
}
唯一的问题是,如何根据第一行的 int 值,为文件中的每一行将 x 和 y 的值从 [0] 增加到 [1]、[2]、3 等'num' 是,这样我就不会一直覆盖 [0]?
例如,在上面的示例中,'num' 的值为 4,因为它后面还有四行。如何根据 num 的值将 x 和 y 的值加一(+=)?我知道这听起来很愚蠢,但我现在被难住了。
【问题讨论】:
-
代码中的某些内容看起来不正确。您显示
filename = input.nextLine(),然后while 循环处理输入扫描器。您是否打算使用文件阅读器?或者你真的是从控制台输入读取?我只是让你知道有些事情看起来不对劲。 -
@AlvinBunk 只是从控制台输入读取 :)