Java 如何将多列数据文件中的新数字存储到数组中

Java 如何将多列数据文件中的新数字存储到数组中,java,arrays,while-loop,data-files,Java,Arrays,While Loop,Data Files,我正在尝试将此文件中的数据存储到多个数组中。数据文件有3列,以逗号分隔。当我打印数组时,它们只显示数据文件的最后一个数字。我不知道如何解决这个问题。请帮忙!我需要存储在数组中的每一行的第三个数字。我还想学习如何将数据文件中每一行的第一个和第二个数字存储到多维数组中,如果有人能帮忙的话。这是我目前的代码: public static final String SOLD_HOUSES_DATA = "westcoast.txt"; public static void main(Strin

我正在尝试将此文件中的数据存储到多个数组中。数据文件有3列,以逗号分隔。当我打印数组时,它们只显示数据文件的最后一个数字。我不知道如何解决这个问题。请帮忙!我需要存储在数组中的每一行的第三个数字。我还想学习如何将数据文件中每一行的第一个和第二个数字存储到多维数组中,如果有人能帮忙的话。这是我目前的代码:

  public static final String SOLD_HOUSES_DATA = "westcoast.txt"; 
  public static void main(String[] args)throws 
FileNotFoundException{
     File data = new File(SOLD_HOUSES_DATA);
  Scanner houseData = new Scanner(data);
  String[] housesData =null;
  int totalHouses = 0;
  int houseSQFT = 0;
  int bedroomSize = 0;
  int housePrice = 0;
  double[] o = null; 
  while (houseData.hasNextLine()){
     totalHouses++;
     housesData = houseData.nextLine().split(",");
     houseSQFT = Integer.parseInt(housesData[0]);
     bedroomSize = Integer.parseInt(housesData[1]);
     housePrice = Integer.parseInt(housesData[2]);
     o = yMatrix(totalHouses, housePrice);
     System.out.println(Arrays.toString(housesData));  
     double a = normalizeHouseData(houseSQFT);
     double b = normalizeBedRoomData(bedroomSize);  
     double[][] oo = xMatrix(a, b, totalHouses);  
  }


  double a = normalizeHouseData(houseSQFT);
  double b = normalizeBedRoomData(bedroomSize);  
  double[][] oo = xMatrix(a, b, totalHouses);

  System.out.println(Arrays.toString(o));



 }

此外,我不能使用ArrayList来完成这项任务,尽管我知道这会让事情变得更容易。再次感谢

由于您必须使用数组,因此我认为您最好的选择是读取文件一次,以计算有多少行。然后第二次读取以获取数据

File data = new File(SOLD_HOUSES_DATA);
Scanner houseData = new Scanner(data);
int totalHouses = 0;
// Count the lines
while (houseData.hasNextLine()){
    totalHouses++;
    // Forgot this line
    houseData.nextLine();
}
// Allocate array
double[] o = new double[totalHouses]; 
// Close and re-open the scanner to reset it
houseData.close();
houseData = new Scanner(data);
// Read through the file a 2nd time
int lineNumber = 0;
while (houseData.hasNextLine()) {
    // Parse the data into the array (needs error checking...)
    String lineData = houseData.nextLine().split(",");
    o[lineNumber] = Double.parseDouble(lineData[2]);
    lineNumber += 1;
}

数据应该在哪些不同的输出数组中结束?
o=yMatrix
每次重新分配
o
。它不附加到它。
yMatrix
返回什么?yMatrix将返回第三列中所有数字的数组
o=yMatrix(totalHouses,housePrice)此行始终用当前行值替换第一个存储值。这就是为什么在打印
o
数组时只得到最后一行<代码>o[totalHouses-1]=yMatrix(totalHouses,房价)像这样尝试,然后它应该存储所有的行值。我不能将双精度数组转换为双精度数组,这就是它要做的。请等待您的响应。我想我不清楚。我试着让“o”成为一个单一的数组,只包含房价。更新答案。