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

时间:2016-01-23 21:10:10

标签: 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

如何解决此问题?谢谢。

1 个答案:

答案 0 :(得分:1)

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

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