how pass return an array java
Ta vadnica bo pojasnila, kako predati matriko kot argument metodi in kot povratno vrednost metode v Javi s primeri:
Metode ali funkcije se v Javi uporabljajo za razdelitev programa na manjše module. Te metode se prikličejo iz drugih funkcij, pri tem pa se podatki posredujejo klicnim funkcijam in iz njih.
Podatki, ki se posredujejo od klicne funkcije klicani funkciji, so v obliki argumentov ali parametrov funkciji. Podatki, vrnjeni iz funkcije, so vrnjena vrednost.
vprašanja in odgovori za inženirja za zagotavljanje kakovosti
=> Tukaj si oglejte A-Z vadnic za učenje Java.
Običajno lahko vse primitivne in izpeljane tipe prenesemo in vrnemo iz funkcije. Podobno lahko nize posredujemo metodi in jih vrnemo iz metode.
V tej vadnici bomo razpravljali o tem, kako predati nize kot argument metodi in vrniti matriko iz metode.
Kaj se boste naučili:
- Posredovanje polja metodi v Javi
- Kako vrniti polje v Javi
- Pogosto zastavljena vprašanja
- Zaključek
- Priporočeno branje
Posredovanje polja metodi v Javi
Polja lahko posredujemo drugim metodam, tako kot posredujemo argumente primitivnega podatkovnega tipa. Če želite metodi predati matriko kot argument, morate samo poslati ime matrike brez oglatih oklepajev. Prototip metode se mora ujemati, da sprejme argument vrste polja.
Spodaj je prototip metode:
void method_name (int [] array);
To pomeni, da bo method_name sprejel parameter matrike tipa int. Torej, če imate int matriko z imenom myarray, potem zgornjo metodo lahko pokličete na naslednji način:
method_name (myarray);
Zgornji klic posreduje sklic na matriko myarray metodi 'ime_ime'. Tako se bodo spremembe, ki jih je naredil myarray znotraj metode, odražale tudi v klicni metodi.
V nasprotju s C / C ++ metodi parametra dolžine skupaj z matriko ni treba predati metodi, saj imajo vsi nizi Java lastnost ‘length’. Vendar bi bilo priporočljivo, da prenesete več elementov, če je v matriki zapolnjenih le nekaj mest.
Naslednji program Java prikazuje prenos matrike kot parametra v funkcijo.
public class Main { //method to print an array, taking array as an argument private static void printArray(Integer[] intArray){ System.out.println('Array contents printed through method:'); //print individual elements of array using enhanced for loop for(Integer val: intArray) System.out.print(val + ' '); } public static void main(String[] args) { //integer array Integer[] intArray = {10,20,30,40,50,60,70,80}; //call printArray method by passing intArray as an argument printArray(intArray); } }
Izhod:
V zgornjem programu je matrika inicializirana v glavni funkciji. Nato se pokliče metoda printArray, ki ji je ta matrika posredovana kot argument. Pri metodi printArray se matrika prečka in vsak element se natisne z uporabo izboljšane zanke for.
Vzemimo še en primer posredovanja nizov metodam. V tem primeru smo izvedli dva razreda. En razred vsebuje klicno metodo main, drugi razred pa metodo za iskanje največjega elementa v matriki.
Torej, glavna metoda pokliče metodo v drugem razredu tako, da preda matriko tej metodi find_max. Metoda find_max izračuna največji element vhodnega polja in ga vrne klicni funkciji.
class maxClass{ public int find_max(int [] myarray) { int max_val = 0; //traverse the array to compare each element with max_val for(int i=0; imax_val) { max_val = myarray[i]; } } //return max_val return max_val; } } public class Main { public static void main(String args[]) { //input array int[] myArray = {43,54,23,65,78,85,88,92,10}; System.out.println('Input Array:' + Arrays.toString(myArray)); //create object of class which has method to find maximum maxClassobj = new maxClass(); //pass input array to find_max method that returns maximum element System.out.println('Maximum value in the given array is::'+obj.find_max(myArray)); } }
Izhod:
V zgornjem programu smo matriko predali iz ene metode v enem razredu v drugo metodo, ki je prisotna v drugem razredu. Upoštevajte, da je pristop posredovanja matrike enak, ne glede na to, ali je metoda v istem ali drugem razredu.
Kako vrniti polje v Javi
Poleg vseh primitivnih vrst, ki jih lahko vrnete iz programov Java, lahko vrnete tudi sklice na polja.
Medtem ko iz metode vrnete referenco na matriko, ne pozabite, da:
- Podatkovni tip, ki vrne vrednost, je treba navesti kot matriko ustreznega podatkovnega tipa.
- Vrnjena vrednost metode je sklic na matriko.
Matrika se vrne iz metode v primerih, ko morate iz metode vrniti več vrednosti iste vrste. Ta pristop postane uporaben, saj Java ne dovoljuje vrnitve več vrednosti.
Naslednji program vrne niz nizov iz metode.
odpiranje datotek .jar windows 10
import java.util.*; public class Main { public static String[] return_Array() { //define string array String[] ret_Array = {'Java', 'C++', 'Python', 'Ruby', 'C'}; //return string array return ret_Array; } public static void main(String args[]) { //call method return_array that returns array String[] str_Array = return_Array(); System.out.println('Array returned from method:' + Arrays.toString(str_Array)); } }
Izhod:
Zgornji program je primer vrnitve sklica na matriko iz metode. Metoda 'return_array' je razglašena za niz nizov 'ret_Array' in jo nato preprosto vrne. V glavni metodi je vrnitvena vrednost metode return_array dodeljena nizu nizov in nato prikazana.
Naslednji program ponuja še en primer vrnitve polja iz metode. Tu uporabljamo celoštevilsko matriko, ki se uporablja za shranjevanje izračunanih naključnih števil, nato pa se ta matrika vrne klicatelju.
public class Main { public static void main(String[] args) { final int N = 10; // number of random elements // Create an array int[] random_numbers; // call create_random method that returns an array of random numbers random_numbers = create_random(N); System.out.println('The array of random numbers:'); // display array of random numbers for (int i = 0; i number of random numbers to be generated int[] random_array = new int[N]; //generate random numbers and assign to array for (int i = 0; i Izhod:
Včasih so rezultati izračuna nični ali prazni. V tem primeru funkcije največkrat vrnejo nič. Ko gre za nize, je bolje vrniti prazno polje namesto nič. To je zato, ker bo metoda vračanja matrike dosledna. Prav tako klicatelju ni treba imeti posebne kode za obdelavo ničelnih vrednosti.
Pogosto zastavljena vprašanja
V # 1) Ali Java posreduje nize po referenci?
Odgovor: Da. Polja se privzeto posredujejo po sklicu. Medtem ko matriko prenašamo v funkcijo, preprosto damo ime matrike, ki se izračuna na začetni naslov matrike.
V # 2) Zakaj se nizi ne posredujejo po vrednosti?
Odgovor: Nizov ni mogoče poslati po vrednosti, ker ime polja, ki se posreduje metodi, oceni kot sklic.
V # 3) Ali je mogoče v Java vrniti polje?
Odgovor: Da, v Java lahko vrnemo polje. V tej vadnici smo že navedli primere vračanja nizov.
V # 4) Ali lahko metoda vrne več vrednosti?
Odgovor: V skladu s specifikacijami metode Java ne morejo vrniti več vrednosti. Lahko pa imamo krožne načine za simulacijo vračanja več vrednosti. Na primer, lahko vrnemo polja z več vrednostmi ali zbirkami.
V # 5) Ali lahko metoda v Java vsebuje dva stavka Return?
Odgovor: Ne. Java ne dovoljuje, da bi metoda imela več kot eno vrnjeno vrednost.
Zaključek
Java omogoča, da se polja posredujejo metodi kot argument, kot tudi, da se vrnejo iz metode. Polja se metodi posredujejo kot referenca.
Med klicanjem določene metode se posreduje ime matrike, ki kaže na začetni naslov matrike. Podobno je, ko je matrika vrnjena iz metode, vrnjena referenca.
V tej vadnici smo zgornje teme podrobno obravnavali s primeri. V naslednjih vajah bomo obravnavali več tem o nizih v Javi.
=> Obiščite tukaj za ekskluzivno serijo vadnic Java.
Priporočeno branje
- Vadnica za dolžino polja Java s primeri kode
- Java Array - Kako natisniti elemente polja v Javi?
- Java Array - prijavite, ustvarite in inicializirajte polje v Javi
- Java Generic Array - Kako simulirati generična polja v Javi?
- Vadnica za odsev Java s primeri
- Niz predmetov v Javi: Kako ustvariti, inicializirati in uporabiti
- Java SWING Vadnica: Vsebnik, komponente in obdelava dogodkov
- JAVA Vadnica za začetnike: 100+ praktičnih Javnih video vadnic