Kezdőoldal » Számítástechnika » Programozás » Függvények deklarálása/használ...

Függvények deklarálása/használata mainben és main kívül? (JAVA)

Figyelt kérdés

Komoly gondjaim vannak a static, main, a függvények, metódusok, konstruktorok és eljárások megértésében.


Ha jól értem az eljárás visszatérési típusa void, azaz nincs visszatérési értéke. Ott csak elvégzik a dolgokat, nem add vissza semmi változót. Példákban kiíratásokat láttam. De annak mi értelme?


A függvénynek van egy return ága, tehát add egy értéket a végén, számításokkat lehet végezni és paramétereket vár.


Na most nekem egy eljárásra lenne szükségem. A program során többször elvégzem ugyananazt a műveleteket 3 változóval. Azt szeretném, ha az eljárásban ez a számolás lenne és visszaadna nekem 3 változó értékét. De problémákba ütközök a szintaktikája során, nem tudom hogyan kell létrehozni sem meghívni.


Hogy megértsem, 3 különböző helyen szerettem volna létrehozni, de egyik sem volt jó:



package javaapplication69;


public class alma {

//ITT (külöm osztályban)

}


public class JavaApplication69 {


//ITT (main-en kívül)


public static void main(String[] args) {

//ÉS ITT (main-ban)

}


}



A függvényem:

public void fuggveny (double valtozoEgy, double valtozoKetto, double valtozoHarom) {

valtozoEgy=szamEgy;

valtozoKetto=szamKetto;

valtozoHarom=szamHarom;

}



A segítséget előre is köszönöm!



2018. dec. 29. 12:35
 1/8 anonim ***** válasza:
mi a kérdés
2018. dec. 29. 12:44
Hasznos számodra ez a válasz?
 2/8 anonim ***** válasza:

Na jó álljunk meg egy pillanatra, mert itt nagyon sötét dolgokat látok amellett , hogy már a kérdést sem értem.


Több oldalról is megközelítheted.


public void fuggveny (double valtozoEgy, double valtozoKetto, double valtozoHarom) {

valtozoEgy=szamEgy;

valtozoKetto=szamKetto;

valtozoHarom=szamHarom;

}<- ez tuti rossz és nem szintaktikailag hanem logikailag tulajdonképpen nem csinálsz vele semmit átírod a metóduson belül értékét vége a metódusnak és ennyi azt később nem fogod tudni elérni.


Egy visszatérési értéke lehet egy függvénynek és az amit szignatúra előtt megadsz void esetében semmi sem fog metódusból visszatérni. írd le a feladatot mit szeretnél aztán meglátjuk hogy kellene csinálni.

2018. dec. 29. 12:58
Hasznos számodra ez a válasz?
 3/8 anonim ***** válasza:

"Na most nekem egy eljárásra lenne szükségem. A program során többször elvégzem ugyananazt a műveleteket 3 változóval. Azt szeretném, ha az eljárásban ez a számolás lenne és visszaadna nekem 3 változó értékét."


Az eljárás kinyomtat valamit, vagy kiszámol, kiértékel valamit és az eljárás eredménye a nyomtatott vagy kiszámolt, kiértékelt dolog lesz.


A függvény is kiszámol, kiértékel valamit, de az egyben vissza is tér a kiszámított, kiértékelt eredménnyel, amit felhasználhatsz ott, ahol a függvényt meghívtad.

Például:


fuggveny(a,b) {result = a + b}


if valtozo < fuggveny(a,b) then inc(valtozo);

2018. dec. 29. 13:13
Hasznos számodra ez a válasz?
 4/8 anonim ***** válasza:
0%

1, ne oopvel kezdj, c,javascript vagy python ahogy latod az alapokat kell megtanulni


2, functionnak csak egy visszateresi erteke van


3, a methodnak nincs pl classban a setter property az egy method a getter egy function

2018. dec. 29. 13:54
Hasznos számodra ez a válasz?
 5/8 A kérdező kommentje:

#2

A feladat túl bonyodalmas ahhoz, hogy egyszerűbb lenne azt elmagyarázni ill. leírni, minthogy úgy fogalmazok, hogy:

A programban többször végre kell hajtanom a fenti műveletet. 3 változó értékével dolgozok több cikluson belül, amikben az értéke megváltozik a végére. Ezeket az eredményeket lementem, mert később szükségem lesz velük, de ahogy kilépek az egyik ciklusból, jön a másik és ott újra azok az értékek kellenek, mint amikkel az első ciklusba beléptem és nem azok, amit az egyik ciklus után kiértékelődött.


#3

Én azt nem értem, hogy akkor mi értelme van az eljárásnak? Valamint, oké van eredménye, de azzal nem tudsz utána dolgozni, akkor miért számolnak ott?

2018. dec. 30. 11:26
 6/8 anonim ***** válasza:

1. Egy eljárás nem csak számolni tud.

2. Egy eljárásnak lehet mellékhatása, dolgozhat osztály adattagokkal.

2018. dec. 30. 11:43
Hasznos számodra ez a válasz?
 7/8 anonim ***** válasza:

jelenlegi programozói tudásodat elnézve annyira nem lehet bonyolult a feladat.....


1. Amúgy osztályszintű változót használsz amit egész osztályon belül elérsz.

2. Használhatsz osztályt amibe a fieldjeid vannak mivel java átadja a referencia értéket így megtarthatod a módosított értékeket.

3. Használhatsz egy másik osztály publikus static fieldjét kivülről példányosítás nélkül.


Soroljam még ?


És még 500000+1 lehetőséget , hogy megold.

Mivel amit te leírtál szimpla értékátadás és teljesen rosszul működő felesleges metódus így nem csoda nem jó,nem működik,nem érted. Csak azért mert szintaktika rendben még nem lesz jó.....

2018. dec. 30. 12:16
Hasznos számodra ez a válasz?
 8/8 anonim ***** válasza:

"Én azt nem értem, hogy akkor mi értelme van az eljárásnak? Valamint, oké van eredménye, de azzal nem tudsz utána dolgozni, akkor miért számolnak ott?"


Függvényt jellemzően ott használsz, ahol szükség van a függvény által visszaadott eredményre. Eljárást meg ott, ahol efféle eredmény nem kell, vagy nem akkor kell. Pl egy képernyő kirajzolásánál nincs szükség visszatérő adatokra, ahogy inicializálásnál vagy file megnyitásánál sem, legalábbis nem feltétlenül.

2018. dec. 30. 13:50
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!