(Java) Mit tegyek, hogy a függvény után változva maradjanak a változók értékei? (:
public class Paprika {
public static void main(String atgs[]){
int alma=5,eper=3;
System.out.println("Deklaráció után:"+alma+" "+eper);
fv(alma,eper);
System.out.println("A függvény után:"+alma+" "+eper);
}
public static void fv(int alma, int eper){
alma*=3;
eper+=3;
System.out.println("A függvényben:"+alma+" "+eper);
}
}
consol:
Deklaráció után:5 3
A függvényben:15 6
A függvény után:5 3
A javaban függvényen belül létrehozott változót csak az a függvény látja, amelyben létrehozták.
Te a main függvényen belül dekraláltad a két változót, majd átadtad az fv függvénynek őket.
Amikor az fv függvényt meghívod, akkor az fv létrehoz 2 másik változót amelyek az fv saját változói,amelyekbe belemásolódik a mainben lévő int-ek értéke. Történetesen ugyanúgy hívják őket, mint a mainben de egyébként semmi közük egymáson.
így legye n a sorrend:
public class paprika {
int alma=5,eper=3;
public static void main(String atgs[]){
[...]
aztán pedig a fv függvények ne adj át paramétert.
public static void fv(){
így működni fog.
Ja igen, lemaradt, statikus metódusokból csak statikus változókat és metódusokat lehet hívni, ezért az alam és az epernek statikunak kell lenniük.
static int alma = 5;
static int eper = 3;
Vagy használd az AtomicRefernce, AtomicInteger, stb osztályokat:
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!