Мне нужно сделать обобщенную функцию c, которая принимает массив чисел (целые, двойные или любые другие), а затем создать двумерный массив, в котором первая строка - это массив, а каждая следующая строка - предыдущая. в квадрате. То, что я сделал, дает мне
java .lang.object не может быть приведен к java .lang.number
, даже если я поставлю E extends Number
. Я попробовал ту же функцию, используя только int, и она делает то, что мне нужно.
Где я допустил ошибку? Я неправильно использую «E расширяет номер»?
public static<E> void napraviMatricu(E[] niz) {
int n = niz.length;
E[][] matrica = (E[][]) new Object[n][n];
for(int i = 0; i < matrica[0].length; i++)
matrica[0][i] = niz[i];
for(int i = 1; i < matrica.length; i++)
for(int j = 0; j < matrica[i].length; j++)
matrica[i][j] = matrica[i-1][j] * matrica[i-1][j];
for(int i = 0; i < matrica.length; i++) {
for(int j = 0; j < matrica[i]. length; j++)
System.out.print(matrica[i][j] + " ");
System.out.println("");
}
}