Hvordan returnere en matrise i Java

Hvordan returnere en matrise i Java
I C ++ kan en matrise ikke returneres av en funksjon eller medlemsfunksjon. Det vil si at i C ++ kan en array -referanse ikke returneres av en funksjon eller medlemsfunksjon. Java har egentlig ikke frittstående funksjoner. Tilsvarende en medlemsfunksjon fra C ++ er en metode i Java. Metoden må tilhøre en klasse i Java.

Å returnere en matrise i Java er faktisk enkel: bare returner referansen til matrisen. I C ++ vil dette ikke fungere. I Java, i denne sammenhengen, er en referanse et variabelt navn. Array Construction Literal kan også returneres. Når matrisen returneres, bør den mottas av en matrisevariabel.

Denne opplæringen illustrerer hvordan du returnerer en variabel array -referanse og hvordan du returnerer en artikelkonstruksjon bokstavelig referanse.

Returnerer en variabel referanse

Husk at en metode i en klasse må returnere matrisen for å returnere en matrise for å returnere. Et eksempel på en slik metode er:

public char [] mthd (char [] ar)
returner AR;

Denne metoden har bare en parameter, som er en array -erklæring. Returtypen er en array -erklæring, som er obligatorisk. Denne metoden har bare en uttalelse for å holde ting enkelt. Den ene uttalelsen returnerer bare matrisen.

Enkelt program for å returnere Array Variable Reference

Følgende program viser et enkelt program for å returnere en array variabel referanse:

klasse aclass
public char [] mthd (char [] ar)
returner AR;


public class 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);
for (int i = 0; iSystem.ute.print (arra [i]); System.ute.skrive ut(");

System.ute.println ();

Utgangen er:

R s t u v

Det er to klasser i programmet: Hovedklassen kalt, Theclass og en sekundærklasse kalt ACLASS. Det er to hovedkodesegmenter i programmet. ACLASS er et av kodesegmentene, og TheClass er det andre kodesegmentet.

Aclass begynner med det reserverte ordet, klassen. Så er det klassenavnet, aclass. Inne i seler for ACLASS, er den offentlige metoden med navnet MTHD. Hvis metoden ikke er offentlig, vil den ikke sees i hovedmetoden i hovedklassen. mthd () returnerer argumentet for parameteren den mottar. Metoden har bare en parameter.

Etter at ACLASS -definisjonen i koden er hovedklasse -definisjonen. Navnet på hovedklassen er plass. Det er offentlig, og det må være offentlig. Når den offentlige modifisereren for en klassedefinisjon er utelatt, er klassen privat. Tilsvarende, når modifisereren for en metodedefinisjon er utelatt, er metoden privat. Hovedklassen her har bare hovedmetoden, som skal være der.

Hovedmetoden må være offentlig; det må være statisk; Og den må returnere tomrom.

Den første uttalelsen i hovedmetoden erklærer matrisen, ARR, med initialisering av matrisen i erklæringen.

Den andre uttalelsen oppretter et objekt for ACLASS, kalt obj. Uttalelsen etter bruker det instantierte objektet, OBJ for å kalle metoden, mthd (), og passerer som et argument til metoden,. Hvis metodedefinisjonen i klassen, ACLASS, ikke var offentlig, ville denne uttalelsen ikke utført. mthd () av ​​OBJ returnerer referansen til matrisen.

Returreferansen mottas av den deklarerte arrayvariabelen, Arra, i “Char [] Arra”. Etter det er for-loop, som skriver ut det mottatte arrayinnholdet.

På denne måten har en matrise blitt returnert med en metode.

Returnerer en konstruktørarray bokstavelig

Husk at for å returnere en matrise, må en metode i en klasse returnere matrisen. Et eksempel på en slik metode, er:

public char [] mthd ()
Returner ny char [] 'r', 's', 't', 'u', 'v';

Denne metoden har ingen parameter. Returtypen er en array -erklæring, som er obligatorisk. Returerklæringen returnerer en bokstavelig referanse, som er “New Char [] 'R', 'S', 'T', 'U', 'V' '. Denne metoden har bare en uttalelse, bare for å holde ting enkelt.

Enkelt program for å returnere Konstruktørarray bokstavelig referanse

Følgende program viser et enkelt program for å returnere en bokstavelig referanse for konstruktøren:

klasse aclass
public char [] mthd ()
Returner ny char [] 'r', 's', 't', 'u', 'v';


public class theclass
public static void main (String [] args)
Aclass obj = new aclass ();
char [] arra = obj.mthd ();
for (int i = 0; iSystem.ute.print (arra [i]); System.ute.skrive ut(");

System.ute.println ();

Utgangen er:

R s t u v

Det er to klasser i programmet: Hovedklassen kalt, Theclass og en sekundærklasse kalt ACLASS. Det er to hovedkodesegmenter i programmet. ACLASS er et av kodesegmentene, og TheClass er det andre kodesegmentet.

Aclass begynner med det reserverte ordet, klassen. Så er det klassenavnet, aclass. Inne i seler for ACLASS, er den offentlige metoden med navnet MTHD. Hvis metoden ikke er offentlig, vil den ikke sees i hovedmetoden i hovedklassen. mthd () returnerer konstruktørarrayen bokstavelig referanse. Metoden har eventuelt ingen parameter.

Etter at ACLASS -definisjonen i koden er hovedklasse -definisjonen. Navnet på hovedklassen er plass. Det er offentlig, og det må være offentlig. Når den offentlige modifisereren for en klassedefinisjon er utelatt, er klassen privat. Tilsvarende, når modifisereren for en metodedefinisjon er utelatt, er metoden privat. Hovedklassen her har bare hovedmetoden, som skal være der.

Hovedmetoden må være offentlig; det må være statisk; Og den må returnere tomrom.

Den første uttalelsen i hovedmetoden oppretter et objekt for ACLASS, kalt OBJ. Uttalelsen etter bruker det instantierte objektet, OBJ for å kalle metoden, mthd (), og ikke noe argument, siden den påberopte metodedefinisjonen ikke har noen parameter. Hvis metodedefinisjonen i klassen, ACLASS, ikke var offentlig, ville denne uttalelsen ikke utført. mthd () av ​​obj returnerer en konstruktørarray bokstavelig referanse.

Returreferansen mottas av den deklarerte arrayvariabelen, Arra, i “Char [] Arra”. Etter det er for-loop, som skriver ut det mottatte arrayinnholdet.

På denne måten er en bokstavelig referanse en konstruktør, blitt returnert ved en metode.

Konklusjon

For å returnere en matrise i Java er faktisk enkel: bare returner referansen til matrisen. I C ++ vil dette ikke fungere. I Java er en referanse et variabelnavn eller Array Construction Literal Reference i denne sammenhengen. Når matrisen returneres, bør den mottas av en matrisevariabel.