Gyakorlati alapok II.
Számtöbbszörözés tömbátdobálással
Az előző, Számkétszerezés című fejezetben egy egyszerű számkétszerezést különutas függvénnyel hajtottunk végre. Ebben a fejezetben sem teszünk másképpen, a változtatás csupán annyi lesz, hogy bemeneti adathalmazként egy egész tömböt hajítunk át a külső függvényből a main() főmetódusnak.
A függvény – olyan metódus, amelynek van bemeneti típusa és kimeneti értéke (return), ellentétben az eljárással, amelynek nincs (void).
Az alábbi futtatható Java-kódban egy számot (2 - ez a bemeneti adat) többszörözünk meg külön függvényben (szamTobbszorozes(int bemenetiAdat)), az adatokat egy külön, statikus tömbben tárolva. Láthatjuk, hogy most a matematikai művelet a külön függvény return utasítása elé kerül (int[] tomb = {szam * 1, szam * 2, szam * 3, szam * 4};), a return már csak a feltöltött tömböt adja át (return tomb), a main() pedig a kötelező deklarációk után átveszi a tömb értékeit:
int[] tomb = new int[4];
tomb = szamTobbszorozes(2);
A kiírást alapjában véve meg tudjuk oldani egy nem túl elegáns, szekvenciális megoldással:
System.out.println(tomb[0] + " " + tomb[1] + " " + tomb[2] + " " + tomb[3]);
public class Main {
public static int [] szamTobbszorozes(int szam){
int[] tomb = {szam * 1, szam * 2, szam * 3, szam * 4};
return tomb;
}
public static void main(String[] args) {
int[] tomb = new int[4];
tomb = szamTobbszorozes(2);
System.out.println(tomb[0] + " " + tomb[1] + " " + tomb[2] +
" " + tomb[3]);
}
}
Végeredmény:
2 4 6 8
Helyette -amint már megtanulhattuk tömbök esetében-, érdemes a tömbtartalmakhoz for ciklus segítségével hozzáférnünk:
public class Main {
public static int [] szamTobbszorozes(int szam){
int[] tomb = {szam * 1, szam * 2, szam * 3, szam * 4};
return tomb;
}
public static void main(String[] args) {
int[] tomb = new int[4];
tomb = szamTobbszorozes(2);
for (int i = 0; i < tomb.length; i++) {
System.out.print(tomb[i] + " ");
}
}
}
Végeredmény:
2 4 6 8