【问题标题】:Using 2D array to store a portion of a line使用二维数组存储一行的一部分
【发布时间】:2020-08-09 19:42:20
【问题描述】:

我有一个.txt,其中包含

bananas, 1, 15
dogs, 1, 10
cats, 1, 5

使用split(", ") 方法,我能够在数组String[] price 的第一行中获得第一个15,但我也想存储最后两个数字。我在想一个二维数组,其中

price[0][2] = 15,
price[1][2]=10
price[2][2] = 5

并将这三个解析为双精度并将它们相加。我有这个,

while ((linePrice = totalReader.readLine()) != null) {
    price1 = linePrice.split(", ");
    if ((line = totalReader.readLine()) != null) {
        price2 = linePrice.split(", ");
    }
    if ((line = totalReader.readLine()) != null) {
        price2 = linePrice.split(", ");
    }
}

但它什么也没做,因为所有三个价格都只是第一个,15

【问题讨论】:

  • 不需要二维数组,你可以很好地将prices 放入一维数组中,每行索引价格。

标签: java arrays multidimensional-array methods


【解决方案1】:

您需要简单地遍历文本文件中的每一行并通过在, 上拆分行并附加到价格数组来获取价格,下面的伪代码让您开始

String[] prices = new String[3];
int i = 0;
while ((linePrice = totalReader.readLine()) != null) {
    String[] array = linePrice.split(", ");
    prices[i] = array[2]; // third index contain price
    i++;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-17
    • 1970-01-01
    • 2015-01-24
    • 2016-03-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多