java - 为什么我的代码只读取java中.txt文件中的第一列数字

标签 java arrays multidimensional-array java-io

我正在尝试将 .txt 文件读入两个不同的数组,一个一维字符串数组和一个二维整数数组。该代码可以很好地将名称读取到 NamesArray 中。然而,代码似乎要么只读取第一列数字,要么只输出第一列。我不确定我的代码哪里出了问题。非常感谢任何帮助!

下面的数据是如何在文件中格式化的。

Jason 10 15 20 25 18 20 26  
Samantha 15 18 29 16 26 20 23  
Ravi 20 26 18 29 10 12 20  
Sheila 17 20 15 26 18 25 12  
Ankit 16 8 28 20 11 25 21

这是我到目前为止的代码。

import java.io.*;
import java.util.*;

public class Page636Exercise12
{
//      static Scanner console = new Scanner(System.in); 

    public static void main(String[] args) throws FileNotFoundException, IOException
    {                                                              
        int Count = 0;

        String[] NamesArray = new String[5];
        int [][] MileageArray = new int [5][7];

        int Mileage = 0;
        String Names = "";

        //Open the input file.
        Scanner inFile = new Scanner(new FileReader("Ch9_Ex12Data.txt"));

        //Reads from file into NamesArray and MileageArray.
        while (inFile.hasNext())
        {
             Names = inFile.next();
             NamesArray[Count] = Names;
             Mileage = inFile.nextInt();
             MileageArray[Count][Count] = Mileage;
             Names = inFile.nextLine();

             System.out.println(NamesArray[Count] + " " + MileageArray[Count][Count]);                
            Count++;           
           inFile.close();           
    }
}

这是我得到的输出。

Jason 10  
Samantha 15  
Ravi 20  
Sheila 17  
Ankit 16  

最佳答案

问题是您只在 MileageArray 的索引 [count][count] 处存储了一个数字。您需要使用一个循环填充数组,该循环循环预期的整数标记总数,如下所示:

for(int j = 0; j < 7; j++){
    Mileage = inFile.nextInt();
    MileageArray[Count][j] = Mileage;
}
Names = inFile.nextLine();

我还建议您将 MileageArray 列和行大小指定为常量。即:

final int ROWS = 5;
final int COLS = 7;

如果输入文件格式发生变化,这将允许您以更可配置的方式更新解析代码。

关于java - 为什么我的代码只读取java中.txt文件中的第一列数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49665461/

相关文章:

java - 用空格替换制表符

c++ - "unable to read memory"填充二维动态数组时

Javascript价格矩阵数组

java - java相当于mysql smallint的是什么

java - 了解 Scala 中的 ArrayBuffer

java - 在java中使用加密文件而不解密到磁盘

javascript - 检测阵列阵列

ios - 优化 iOS 应用程序的迭代循环

php - 展平具有父子关系的数组,以便所有子项都在父级

php - 如何通过 PHP 制作 MYSQL 数据的多维数组