Итак, я получил файл .txt, который содержит две матрицы 3х3 и должен содержать эти матрицы для сложения, умножения, вычитания и скалярного умножения, где программа будет принимать только одну матрицу, а пользователь будет вводитьномер для операции.
Проблема в том, что программа читает только матрицы.
Вот файл .txt, который мне дали, где первые два числа имеют размер:
3 3
12 34 45
34 -12 56
76 12 -1
@
3 3
8 13 45
67 0 12
12 -12 3
Есть ли какой-нибудь спасатель?
EDIT1
Это то, что у меня такДо сих пор метод умножения работал, когда я позволял пользователю вводить матрицу, но сейчас просто даю какой-то странный ответ, что мне не хватает?
import java.io.*;
public class ReadingTest {
public static void main(String[] args) throws IOException {
BufferedReader reader;
reader = new BufferedReader(new FileReader("matrix2.txt"));
String firstDimension = reader.readLine();
String[] split = firstDimension.split(" ");
int firstX = Integer.parseInt(split[0]);
int firstY = Integer.parseInt(split[0]);
int[][] first = new int[firstX][firstY];
for (int i = 0; i < firstX; i++) {
String[] line;
line = reader.readLine().split(" ");
for (int j = 0; j < firstY; j++) {
first[i][j] = Integer.parseInt(line[j]);
}
}
// Read "@"
reader.readLine();
String secondDimension = reader.readLine();
String[] split2 = secondDimension.split("");
int secX = Integer.parseInt(split2[0]);
int secY = Integer.parseInt(split2[0]);
int[][] second = new int[secX][secY];
for (int i = 0; i < secX; i++) {
String[] line;
line = reader.readLine().split(" ");
for (int j = 0; j < secY; j++) {
second[i][j] = Integer.parseInt(line[j]);
}
}
// System.out.println(Arrays.deepToString(second));
multiply(first, second);
reader.close();
}
public static void multiply(int[][] first, int[][] second) {
for (int i = 0; i < first.length; i++) {
int total = 0;
for (int j = 0; j < second[0].length; j++) {
int fnum = first[i][j];
int snum = second[j][i];
int product = fnum * snum;
total += product;
}
System.out.print(total + " ");
}
}
}