У меня есть 2D массив, который имеет следующие значениявновь сделать цикл снова
1,2,3
1,0,2
0,1,2
и массив, который имеет следующие значения
0,1,2,3,4,5,6,7,8
То, что я хочу достичь, это первый начинается из массива [0]
matrix[0][0] * array[0] = result1
matrix[0][1] * array[1] = result2
matrix[0][2] * array[2] = result3
matrix[1][0] * array[0] = result4
matrix[1][1] * array[1] = result5
matrix[1][2] * array[2] = result6
matrix[2][0] * array[0] = result7
matrix[2][1] * array[1] = result8
matrix[2][2] * array[2] = result9
После того, что он будет вернуться повторить цикл и но на этот раз, начиная с массива [3]
matrix[0][0] * array[3] = result10
matrix[0][1] * array[4] = result11
matrix[0][2] * array[5] = result12
matrix[1][0] * array[3] = result13
matrix[1][1] * array[4] = result14
matrix[1][2] * array[5] = result15
matrix[2][0] * array[3] = result16
matrix[2][1] * array[4] = result17
matrix[2][2] * array[5] = result18
После этого он вернется повторить цикл и, но на этот раз, начиная с массива [6]
matrix[0][0] * array[6] = result19
matrix[0][1] * array[7] = result20
matrix[0][2] * array[8] = result21
matrix[1][0] * array[6] = result22
matrix[1][1] * array[7] = result23
matrix[1][2] * array[8] = result24
matrix[2][0] * array[6] = result25
matrix[2][1] * array[7] = result26
matrix[2][2] * array[8] = result27
Я попробовал его, но не может достичь своей желаемых результатов. Пожалуйста помоги.
public class Test1 {
public static void main (String[]args) {
int matrix[][] = new int[][] {
{1,2,3},
{1,0,2},
{0,1,2}
};
int array[] = { 0,1,2,3,4,5,6,7,8 };
int count = 0;
int a = 0;
int row = 0, col = 0;
boolean done = false;
while(!done) {
for (row = 0; row < matrix.length; row++) {
for (col = 0; col < matrix.length; col++) {
a = matrix[row][col] * array[count];
if(col > 0) {
count++;
}
if(count > col && row != col) {
count = 0;
}
if(row == matrix.length-1 && col == matrix.length-1) {
count = count + 1;
}
System.out.println(count);
}
}
if(row == matrix.length-1 && col == matrix.length-1) {
count = count + 1;
}
if(count == array.length) {
done = true;
break;
}
}
}
}
Если вы можете переписать ваш ' " что я хочу достичь"' раздел использовать индексы, было бы это намного яснее. – Floegipoky
Какая проблема, в частности, у вас есть с вашей попыткой? Получаете ли вы сообщения об ошибках? Это ведет себя неожиданно (и если да, то каким образом)? –
Является ли это операцией умножения матрицы? Есть ли другой способ легче понять вашу проблему? –