int数组到字符串数组

时间:2014-12-08 21:53:02

标签: java arrays string integer

我需要从文件中读取一系列整数,然后将它们转换为相同的字符串数组。

这是我读取文件的代码(目前还没有完成它的工作)。

    public void readFile(){
    while(scanner.hasNext()){
        for(int i = 0; i < 5;i++){
            intArray[i] = scan.nextInt();
            int temp = intArray[i];
            String att = Integer.toString(temp);
            stringArray[i]=att;
        }
    }
    System.out.println(Arrays.toString(stringMap));
}

文本文件看起来像这样

1 2 0 0 0
4 0 3 0 0
0 1 0 0 0
0 0 0 1 0
0 2 0 0 4

如何将此文件转换为字符串数组?

编辑:

以下方法;

public void readFile(){
    while(scan.hasNext()){
        for(int i = 0; i < 5;i++){
            intMap[i] = scan.nextInt();
            String temp = Arrays.toString(intMap);
            stringMap[i]=temp;
        }
    }
    System.out.println(Arrays.toString(stringMap));
}

返回以下字符串数组[[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0] ,0,0],[0,0,0,0,0]]而不是文本文件中的所需数字

1 个答案:

答案 0 :(得分:0)

您有要存储的矩阵。因此,您需要一个二维数组String array[][]。 第一个索引是行,第二个索引是列。 当您使用scanner.hasNext()读取数据时,需要递增第一个索引计数器。

像这样的东西

// 'rows' means the count of your rows which you are going to read.
// if you don't know the rows you need to use a List instead
String[][] matrix = new String[rows][];
int row = 0;
while(scanner.hasNext()) {
    matrix[row] = new String[5];
    for(int i = 0; i < 5;i++) {
        matrix[row][i] = "" + scan.nextInt();
    }
}