Cómo devolver una matriz en Java

Cómo devolver una matriz en Java
En C ++, una matriz no puede ser devuelta por una función o función miembro. Es decir, en c ++, una referencia de matriz no puede ser devuelta por una función o función miembro. Java realmente no tiene funciones independientes. El equivalente de una función miembro de C ++ es un método en Java. El método tiene que pertenecer a una clase en Java.

Devolver una matriz en Java es realmente simple: simplemente devuelva la referencia a la matriz. En C ++, esto no funcionará. En Java, en este contexto, una referencia es un nombre variable. La construcción de matriz también se puede devolver. Cuando se devuelve la matriz, debe ser recibida por una variable de matriz.

Este tutorial ilustra cómo devolver una referencia de matriz variable y cómo devolver una referencia literal de construcción de matriz.

Devolver una referencia variable

Recuerde que un método en una clase tiene que devolver la matriz para devolver una matriz para devolver. Un ejemplo de dicho método es:

público char [] mthd (char [] ar)
regresar AR;

Este método tiene solo un parámetro, que es una declaración de matriz. Su tipo de devolución es una declaración de matriz, que es obligatoria. Este método tiene solo una declaración para mantener las cosas simples. La única declaración solo devuelve la matriz.

Programa simple para devolver la referencia de variable de matriz

El siguiente programa muestra un programa simple para devolver una referencia de variable de matriz:

Clase Aclass
público char [] mthd (char [] ar)
regresar AR;


clase pública THECLASS
public static void main (string [] args)
char [] arr = new Char [] 'r', 's', 't', 'u', 'v';
Aclass obj = new Aclass ();
char [] arra = obj.mthd (arr);
para (int i = 0; iSistema.afuera.imprimir (arra [i]); Sistema.afuera.imprimir(");

Sistema.afuera.println ();

La salida es:

R S T U V

Hay dos clases en el programa: la clase principal llamada, la clase y una clase secundaria llamada Aclass. Hay dos segmentos de código principal en el programa. Aclass es uno de los segmentos de código, y el Segmento de código es el otro segmento de código.

Aclass comienza con la palabra reservada, clase. Luego está el nombre de clase, Aclass. Dentro de los aparatos ortopédicos para el aclass, es el método público con el nombre MTHD. Si el método no es público, no se verá en el método principal de la clase principal. mthd () Devuelve el argumento para el parámetro que recibe. El método tiene solo un parámetro.

Después de la definición de aclasa en el código es la definición de clase principal. El nombre de la clase principal es. Es público y tiene que ser público. Cuando se omite el modificador público para una definición de clase, la clase es privada. Del mismo modo, cuando se omite el modificador para una definición de método, el método es privado. La clase principal aquí solo tiene el método principal, que debería estar allí.

El método principal tiene que ser público; debe ser estático; y debe devolver el vacío.

La primera declaración en el método principal declara la matriz, arr, con inicialización de la matriz en la declaración.

La segunda declaración crea un objeto para el aclass, llamado obj. La declaración después usa el objeto instanciado, obj para llamar al método, mthd (), pasando como un argumento al método, arr. Si la definición del método en la clase, Aclass, no fuera pública, esta declaración no se ejecutaría. mthd () de obj devuelve la referencia de la matriz.

La referencia de devolución es recibida por la variable de matriz declarada, Arra, en "Char [] Arra". Después de eso es el for-loop, que imprime el contenido de matriz recibido.

De esta manera, una matriz ha sido devuelta por un método.

Devolver una matriz de constructor literal

Recuerde que para devolver una matriz, un método en una clase tiene que devolver la matriz. Un ejemplo de dicho método es:

público char [] mthd ()
devolver nuevo char [] 'r', 's', 't', 'u', 'v';

Este método no tiene parámetro. Su tipo de devolución es una declaración de matriz, que es obligatoria. La declaración de retorno devuelve una referencia literal de matriz de construcción, que es "nuevo char [] 'r', 's', 't', 'u', 'v'". Este método tiene solo una declaración, solo para mantener las cosas simples.

Programa simple para devolver la referencia literal de la matriz de constructor

El siguiente programa muestra un programa simple para devolver una referencia literal de la matriz de constructor:

Clase Aclass
público char [] mthd ()
devolver nuevo char [] 'r', 's', 't', 'u', 'v';


clase pública THECLASS
public static void main (string [] args)
Aclass obj = new Aclass ();
char [] arra = obj.mthd ();
para (int i = 0; iSistema.afuera.imprimir (arra [i]); Sistema.afuera.imprimir(");

Sistema.afuera.println ();

La salida es:

R S T U V

Hay dos clases en el programa: la clase principal llamada, la clase y una clase secundaria llamada Aclass. Hay dos segmentos de código principal en el programa. Aclass es uno de los segmentos de código, y el Segmento de código es el otro segmento de código.

Aclass comienza con la palabra reservada, clase. Luego está el nombre de clase, Aclass. Dentro de los aparatos ortopédicos para el aclass, es el método público con el nombre MTHD. Si el método no es público, no se verá en el método principal de la clase principal. mthd () Devuelve la referencia literal de la matriz de constructor. El método opcionalmente no tiene parámetro.

Después de la definición de aclasa en el código es la definición de clase principal. El nombre de la clase principal es. Es público y tiene que ser público. Cuando se omite el modificador público para una definición de clase, la clase es privada. Del mismo modo, cuando se omite el modificador para una definición de método, el método es privado. La clase principal aquí solo tiene el método principal, que debería estar allí.

El método principal tiene que ser público; debe ser estático; y debe devolver el vacío.

La primera declaración en el método principal crea un objeto para el aclass, llamado obj. La declaración después de utilizar el objeto instanciado, OBJ para llamar al método, mthd (), sin pasar ningún argumento, ya que la definición del método invocado no tiene parámetro. Si la definición del método en la clase, Aclass, no fuera pública, esta declaración no se ejecutaría. mthd () de OBJ Devuelve una referencia literal de la matriz de constructor.

La referencia de devolución es recibida por la variable de matriz declarada, Arra, en "Char [] Arra". Después de eso es el for-loop, que imprime el contenido de matriz recibido.

De esta manera, una referencia literal de matriz de constructor ha sido devuelta por un método.

Conclusión

Para devolver una matriz en Java es realmente simple: simplemente devuelva la referencia a la matriz. En C ++, esto no funcionará. En Java, una referencia es un nombre variable o la referencia literal de construcción de matriz en este contexto. Cuando se devuelve la matriz, debe ser recibida por una variable de matriz.