大家好,在此先感谢您的帮助!
我正在尝试用Java做矩阵计算器
从同一个文件中读取两个矩阵,如下所示:
2 2
34 78
89 -12
@
2 2
67 76
123 5
第一行是排名
第二行和第三行是第一矩阵
“ @”分割第一矩阵和第二矩阵
那是我想出的代码,但我没有
找到与这个问题类似的东西...有人可以帮我吗?
String [] line = new String[30];
int counter = 2;
int rank[] = new int[2];
int matrixa[][] = new int [3][3];
try {
BufferedReader MyReader = new BufferedReader(new FileReader("matrix.txt"));
while(line != null) {
line = MyReader.readLine().split(" ");
}
rank[0] = Integer.parseInt(line[0]);
rank[1] = Integer.parseInt(line[1]);
for(int i = 0; i <rank[0];i++) {
for (int j=0;j<rank[1];j++) {
matrixa[i][j] = Integer.parseInt(line[counter]);
counter++;
System.out.print(matrixa[i][j] + " ");
}
System.out.println();
} }catch (Exception e) {}
答案 0 :(得分:0)
当行数等于“ @”时,在代码栏留个变量
int ticker;
for(int i = 0; i < lines.length; i++){
if(lines[i].equals("@")) ticker = i;
}
然后该代码可以用于破坏数组。如果可以预期的话,也可以将其分成两个单独的阵列。
String currentLine;
String[] line = new String[15];
String[] line2 = new String[15];
int i = 0;
while(line != null && !currentLine.equals("@")){
line = MyReader.readLine().split("");
currentLine = line[i];
if(currentLine.equals("@")) line[i] = null;
i++;
}
while(line2 != null)){
line2 = MyReader.readLine().split("");
}
可以将它们解析为矩阵,然后可以从那里对它们进行数学运算。 祝您一切顺利。