java-如何读取包含多行整数和双精度值的文本文件然后存储到数组中?

时间:2015-05-13 23:39:38

标签: java arrays

例如,我有一个包含以下格式的文本文件

AcountNumber AccountBalance

AccountNumber是一个整数,AccountBalance是一个double。

在另一个档案中,我有以下格式

Item Price

Item是一个字符串,Price是双倍的。

那么如何读取这些类型的行然后将值存储到数组中呢?

3 个答案:

答案 0 :(得分:0)

while there are lines to read
    read line
    split line
    do something with first part
    do something with second part
end while

或者如果你想用整行操作,你可以

while there are lines to read
    read line
    convert line into pair
    do something with a pair
end while

答案 1 :(得分:0)

对于将使用tokenised读取delimiter的字符串,使用相应的解析包装器。在代码中正确处理Exceptions 以下是关于相同

的一些介绍性部分

对于第一个要求,您需要做的是 这行将使用空格分隔符进行拆分,然后您可以像这样处理数组标记: -

由于第一个参数是整数,您可以使用

解析它

Integer.parseInt(token[0])

由于第二个参数是Double,您可以使用

解析它

Double.parseDouble(token[1])

类似地,你必须为第二个输入做,即String和Double

答案 2 :(得分:0)

您将创建四个数组,int[]double[] (for account balance)double[] (for price)String[]。请注意,在开始向它们添加值之前,必须使用适当的长度和自己的重要名称来实例化数组。

然后两个while循环,每个文件一个用Scanner读取语句构成,使它们与您在文本文件格式中的模式匹配。例如,您对第一个文件的内容是

while(Scanner.hasNext()){ //hasNext() is a boolean method that checks if there is more input in the file
intAccountNumber[x] = Scanner.nextInt();//Pulls next int in a line, stays on line
doubleAccountBal[x] = Scanner.nextDouble();//pulls next double stays on line
x++;
}

请注意,这是第一个文件的第一个循环应该/可能是什么样的示例。您可以使用其他文本文件实现相同的逻辑,只需在示例中切换Scanner方法,以适合您正在存储的正确数据类型,并将其放入与您正在存储的数据匹配的正确数组中。 p>

如果您有任何疑问,请给我发表评论。