java - 如何从 CSV 文件中提取字符串数字并将其放入 java 中的 int 数组中?

标签 java arrays csv io

如何从 csv 文件中提取字符串数字并将其放入 int 数组中。我尝试执行以下操作,但没有得到我需要的东西。 csv 文件包含以逗号分隔的姓名和年级。在下面的代码中,当我打印值时,我得到了数字,但是一旦我尝试将它们放入 int 数组中,我就会得到一个非常奇怪的输出。 CSV 文件内容:

Betty Mason, 53
Lillian Black,3
Steven Gonzalez , 27
Dorothy Sullivan,80
Bobby Cooper, 68

代码

import java.util.Scanner;
import java.io.File;
import java.io.FileNotFoundException;

public class Grade {
    public static void main(String[] args) throws FileNotFoundException {
    Scanner s1 = new Scanner(new File("grades.csv"));

    int numberofLines = 0;
    while (s1.hasNext()) {
        String line = s1.nextLine();
        numberofLines++;
    }

    int[] myArray = new int[numberofLines];

    Scanner s2 = new Scanner(new File("grades.csv"));
    while (s2.hasNext()) {
        String line = s2.nextLine();
        String[] values = line.split(",");
        String tempValues = values[1].trim();
        for (int i = 0; i < numberofLines; i++) {
            myArray[i] = Integer.parseInt(tempValues);
        }

        System.out.println(myArray);

    }

}

}

当我执行 System.out.println(tempValues); 时我明白了

53
3
27
80
68

当我执行 System.out.println(myArray); 时我明白了

I@3d4eac69
[I@3d4eac69
[I@3d4eac69
[I@3d4eac69
[I@3d4eac69

如何解决这个问题?谢谢。

最佳答案

要打印数组的内容而不是其地址,请使用 Arrays.toString :

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

关于java - 如何从 CSV 文件中提取字符串数字并将其放入 java 中的 int 数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34968900/

相关文章:

java - 如何使用 Jackson JSON 将 JSON 字符串转换为 Map<String, Set<String>>

java - 如何使用 Java 获取连接在同一网络(子网)中的 IP 列表

java - 如何从文本文件中连续读取数据 - Java

arrays - 如何在 TypeScript 中正确键入 Array.map 回调?

php - 按值对 PHP 中的数组进行排序并维护索引关联

c# - 带有 TextFieldParser 的 CSV 文本文件解析器 - MalformedLineException

php fputcsv 在 CSV 中使用分号分隔符

java - JVM如何重用interned String子串?

algorithm - 最大子数组iii(来自lintcode)动态规划求解

c++ - 使用 C++ 解析非常大的 CSV 文件