Oi gente! Eu tenho uma matriz m[w][h] de inteiros que é global e eu tenho um método que possui um vetor [w] também de inteiros. Esse vetor, a cada chamada de método, guarda os valores das linhas da matriz. Eu gostaria de saber qual é a maneira mais simples de mover todo o conteúdo do vetor para a cada linha da matriz. Existe algum comando move, ou algo do tipo? Obrigada!
seria mais ou menos assim:
System.arraycopy(v,0,matriz,matriz[line][0],imageWidthHeader);
Pq tah dando erro:
Exception in thread “main” java.lang.ArrayStoreException
at java.lang.System.arraycopy(Native Method)
vc tem q passar dois vetores, e ñ o vetor e a matriz,
System.arraycopy(vtr, 0, mtx[line], 0, vtr.length);
o primeiro é o vetor propiamente dito, de onde vc vai copiar os dados, o segundo vetor é a linha da matriz onde os dados serão copiados
os zeros significam que a cópia será feia apartir do primeiro elemento, e lembre-se de garantir foi alocado espaço suficiente para a linha da matriz, aqui eu coloquei ‘vtr.length’, mas pode ser menos (mas ñ mais).
flw, t+
Então dah dando erro de : ArrayIndexOutOfBoundsException: -1
int [][]matriz = new int [imageHeightHeader][imageWidthHeader];
public void completeArray(int multi, int cor, int line){
int v[] = new int [imageWidthHeader];
if(previous>=imageWidthHeader){
previous=0;
}
else{
for(int i=previous;i<previous+multi;i++){
v[i]=cor;
}
System.arraycopy(v, 0, matriz[line-1], 0, v.length);
previous=previous+multi;
}
}//end method
Niguém sabe???