java - 从逗号分隔的文本文件中读取数组

标签 java arrays

想要在逗号分隔的文本文件中打印出矩阵,但此代码将打印出全零的矩阵,这不是文本文件中的矩阵。

public int[][] readFromFile() throws FileNotFoundException {
    Scanner in = new Scanner(new File("C:\\Users\\Aidan\\Documents\\NetBeansProjects\\matrix\\src\\matrix\\newfile"));
    int[][] a = new int[9][9];
    while (in.hasNext()) {
        String word = in.next();
        if (word.equals(",")) {
            continue;
        }
        System.out.println(word);
        int x = 0;
        int y = 0;
        //System.out.println(Integer.parseInt(word));
        int s = Integer.parseInt(word);
        a[x++][y++] = s;
    }
    return a;
}

最佳答案

假设您的 csv 文件中有多行:

1,2,3,4,5,6,7,8,9
2,3,4,5,6,7,8,9,1
3,4,5,6,7,8,9,1,2
...

您应该能够执行以下操作:

int[][] a = new int[9][9];
Scanner in = new Scanner(new File("C:\..."));
for (int i = 0; i < 9; i++) {
    String[] line = in.nextLine().split(",");
    for (int j = 0; j < 9; j++) {
        a[i][j] = Integer.parseInt(line[j]);
    }
}

这是最低要求,不包括错误检查,如果 csv 中的一行少于 9 个逗号分隔的数字,程序将崩溃。

关于java - 从逗号分隔的文本文件中读取数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35952240/

相关文章:

java - GET 不显示在 java 动态 Web 项目中实现的 Posted 对象

java - 使用 java 绘制 ASCII 艺术

c - 第一个字节和第一个字节元素地址之间的差异

c - 查找数组中的最小偶数和最大偶数

java - XMLStreamWriter.writeStartElement(前缀,本地名称,命名空间URI): no binding of prefix to namespace

java - FragmentManager 尝试查找项目的旧包名称并给出 "No view found for fragment"

java - Android 意外的顶级异常和验证错误

java - 返回行程数组中最常见的指南名称

java - 用Java读取和破坏CSV文件:

c - 仅对数组中的偶数求和