Hola Seruk,
lo que estás viendo es la posición de memoria que ocupa
vector. Seguro que lo que has hecho es un
System.out.println(vector);. Para imprimir los elementos de un array debes iterar sobre el array.
Otra cosa. No tiene sentido declarar una función que devuelve un
int[] (o cualquier otra cosa) y devolver una variable global de la clase. Simplemente no estás devolviendo nada a la práctica, si no que lo que haces es modificar el valor de la propia variable global de clase.
He hecho una clase de test que creo resuelve tu problema (fíjate que
int[] vector... está declarado en la propia función).
public class DevolverVector {
int grade = 3;
int[] p= {1,2,3,4};
//COEFICIENTES
public int[] coeficientes(){
int[] vector = new int[grade+1];
for (int i = 0; i<grade+1; i++){
vector[i]=p[i];
}
return vector;
}
public static void main(String[] args) {
DevolverVector dv = new DevolverVector();
int[] test = dv.coeficientes();
System.out.println( "Posición de memoria en la VM:" );
System.out.println( test );
System.out.println();
System.out.println( "Elementos del array:" );
for (int i = 0 ; i < test.length ; i++ ) {
System.out.print(test[i]);
if ( i < test.length - 1 ) {
System.out.print(",");
}
}
}
}
El resultado es:
Posición de memoria en la VM:
[I@3487a5cc
Elementos del array:
1,2,3,4
Espero haberte ayudado.
Un saludo!