我需要从文件中读取一系列整数,然后将它们转换为相同的字符串数组。
这是我读取文件的代码(目前还没有完成它的工作)。
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]]而不是文本文件中的所需数字
答案 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();
}
}