Использование наивного алгоритма исключения Гаусса
Я должен взять текстовый файл в формате:
n
a11 a12.. a1n a's being the matrix
a21 a22..a2n
b1 b2.. bn b's being the solution vector
мой текстовый файл:
4
15 -2 -6 0
-2 12 -4 -1
-6 -4 19 -9
0 -1 -9 21
300 0 0 0
Прочитайте входной текст и выведите решение:
BufferedReader in = new BufferedReader(new FileReader("src/sys1.lin"));
PrintWriter out = new PrintWriter(new FileWriter("src/sys1.sol"));
// read first line of input file
line = in.readLine();
st = new StringTokenizer(line);
n = Integer.parseInt(st.nextToken());
n будет читать 4, что в конечном итоге составит матрицу 4x4, но проблема в том, что, поскольку вектор включен, его будет 5 строк и 4столбцы 5x4.
Использование новой переменной и сохранение всех входных чисел в матрице:
//not indexing to 0
double[][] A = new double[n+1][n+1];
// read next n lines of input file and initialize array A
for(i=1; i<=n; i++){
line = in.readLine();
st = new StringTokenizer(line);
for(j=1; j<=n; j++){
A[i][j] = Double.parseDouble(st.nextToken());
}
}
Проблема, с которой я сталкиваюсь: Исключение в потоке "main" java.lang.ArrayIndexOutOfBoundsException: 4 в строке A [i] [j] = Double.parseDouble (st.nextToken ());
Как можно распечатать векторную матрицу без влияния ошибки ArrayIndex?