Может кто-нибудь мне помочь? Я пытаюсь преобразовать строку, которая была изначально создана с использованием метода deepToString()
, обратно в массив. Я пробовал почти все, что мог найти в Stack Overflow & hellip; но не повезло.Java deepToString для массива - умножение матрицы
Это то, что я прямо сейчас:
import java.util.*;
public class Test3 {
static int matrix [][] = new int[2][2];
public static int[][] matrixGenerator() {
Random r = new Random();
for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix[i].length; j++) {
matrix[i][j] = r.nextInt(10000);
}
}
return matrix;
}
public static void main(String args[]){
String matrix1 = Arrays.deepToString(matrixGenerator());
String matrix2 = Arrays.deepToString(matrixGenerator());
System.out.println(matrix1 + '\n' + matrix2);
}
}
Это выводит
[[6030, 3761], [6605, 5582]]
и
[[1799, 461], [1197, 1012]]
Это именно то, что мне нужно. Теперь я пытаюсь сделать умножение матрицы, используя этот кусок кода.
int m1rows = matrix1.length;
int m1cols = matrix1[0].length;
int m2cols = matrix2[0].length;
int[][] result = new int[m1rows][m2cols];
for (int i = 0; i < m1rows; i++) {
for (int j = 0; j < m2cols; j++) {
for (int k = 0; k < m1cols; k++) {
result[i][j] += matrix1[i][k] * matrix2[k][j];
}
}
}
Проблема в том, что я не могу пройти через массив, потому что это не массив, это строка. Это имеет смысл. Может ли кто-нибудь сказать мне, как я могу зациклиться? Я попытался преобразовать строку обратно в массив - но не повезло
Если это строка, вы не можете создать массив, разделив на [], а? – Alex
разделить его, а затем разобрать его на целые т т ваши манипуляции :) –
Могу ли я спросить, как, пожалуйста? Просто мой мозг сейчас «заблокирован» :( – Selyst