Некоторые недостатки / проблемы
- первый внутренний , если оператор не имеет блока (
{
и }
, вероятно, отсутствуют)
- условие второго внутреннего
if
оператора никогда не будет true
, j
не может быть 6 в этот момент
- присвоение
j=0
ближе к концу не нужно
- вам не нужно
y
, потому что оно всегда равно i+1
Вот рабочее решение. Обратите внимание, что я немного изменил имена массива, но вы сможете уловить идею и использовать ее в своем коде:
int[][] cv = new int[][]{{1,2,3,4,1,2},{2,1,3,2,4,1}};
int[] hd = new int[]{1,9,9,9,9,1};
int[][] q = new int[2][6];
for (int row = 0; row < 2; row++) {
for (int x = 1; x <= 6; x++) {
for (int col = 0; col < 6; col++) {
if (cv[row][col] == x) {
q[row][x-1] += hd[col];
}
}
}
}
for (int[] row:q) {
for (int col:row) {
System.out.print(col + "\t");
}
System.out.println();
}
Не самое эффективное решение (требуется три вложенных цикла), но как минимум начальная точка;)
(Кстати: вы можете проверить это здесь в Ideone )