【问题标题】:Why isn't my object storing into an array each time I read a line of a file? Java为什么每次读取文件的一行时我的对象都没有存储到数组中?爪哇
【发布时间】:2015-08-25 11:08:16
【问题描述】:

我正在从文本文件中读取数据。每行的开头都有年份,然后是每个月的一些数据。我正在尝试将年份和月份数据都保存到一个对象中,并将其存储到我读取的每一行的对象数组中。我很确定除了我的 parseFile 方法之外我已经完成了所有的事情。在这里——

          while ((line1 = word_reader.readLine()) != null) {
              int year;
              double[] monthlyRain = new double[12];
              String[] values1 = line1.split(",");
              // validation
              if (values1.length == 13){
                  year = Integer.parseInt(values1[0]);

                  for (int i = 1; i < values1.length; i++) { // Start from 1.
                        monthlyRain[i - 1] = Double.parseDouble(values1[i]);
                  }

                  int i =0;
                  rainfallYears[i] = new RainfallYear(year,monthlyRain);
                  i++;
              }
          }     

我认为 for 循环之后朝向底部的行会起作用,但事实并非如此。

【问题讨论】:

  • 不要删除问题的内容。这不是本网站的工作方式。阅读它的文档。

标签: java arrays loops object


【解决方案1】:

你总是把你的对象放在索引 0:

int i =0;
rainfallYears[i] = new RainfallYear(year,monthlyRain);

i放在while-loop.之外:

int i = 0;
while ((line1 = word_reader.readLine()) != null) {

那么它应该可以工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-20
    • 2011-09-24
    • 1970-01-01
    • 2011-01-07
    • 1970-01-01
    • 1970-01-01
    • 2021-06-24
    • 1970-01-01
    相关资源
    最近更新 更多