我对矩阵有疑问。我在txt文件中有一个矩阵。此矩阵看起来:
231 324 123
345 565 234
657 234 654
我要替换元素以形成:
654 234 657
234 565 345
231 324 123
我有一个带有替换元素的算法:3-1-i,其中i是从数组中选择的元素的数量。我有一个问题,如何读取文件并将元素保存到数组以及如何实现此循环。这是我尝试读取txt文件并将元素保存到数组的尝试:
List<String[]> rows = new ArrayList<String[]>();
while ((line = bfr.readLine()) != null) {
String[] row = line.split(" ");
rows.add(row);
}
System.out.println(rows.toString());
但是我得到
[Ljava.lang.String;@525483cd
作为结果。谁能帮我这个循环和阅读此矩阵?
最佳答案
注意:我将String与换行符\n
一起使用,如果从文件中获取字符串,则以相同的方式工作。
import java.io.*;
import java.util.StringTokenizer;
public class file {
public static void main(String args[]) throws IOException {
String s = "231 324 123 \n 345 565 234 \n 657 234 654";
StringTokenizer n = new StringTokenizer(s);
String [] arr = new String[9];
int nn = 0;
while(n.hasMoreElements()){
arr[nn] = n.nextToken();
nn+=1;
}
for(int iii = (arr.length -1); iii >=0 ; iii--){
System.out.print(arr[iii] + " ");
if((iii % 3) == 0) {
System.out.println();
}
}
}
}
输出是
654234657
234565345
123324231
编辑从文件中读取字符串
public static void main(String args[]) throws IOException {
int i;
FileInputStream fin = new FileInputStream("files.txt");
String n = "";
do {
i = fin.read();
n += (char) i;
} while(i != -1);
fin.close();
//String n now contains the contents of the file
}