Javaban hogyan tudom a mainben levo valtozo erteket megvaltoztatni funkciobol, esetleg hogyan lehet tobb return elvegezni egy funkcion belul ?
feladat:
If the user writes "fill", the program should ask them how much water, milk, coffee, and how many disposable cups they want to add to the coffee machine.
The coffee machine has:
400 ml of water
540 ml of milk
120 g of coffee beans
9 disposable cups
$550 of money
Write action (buy, fill, take):
> fill
Write how many ml of water you want to add:
> 2000
Write how many ml of milk you want to add:
> 500
Write how many grams of coffee beans you want to add:
> 100
Write how many disposable cups of coffee you want to add:
> 10
The coffee machine has:
2400 ml of water
1040 ml of milk
220 g of coffee beans
19 disposable cups
$550 of money
-------------------------------------
ahogy en probalom :
public static void fillAction(int water, int milk, int coffee, int cups) {
Scanner scanner = new Scanner(System.in);
System.out.println("Write how many ml of water you want to add: ");
int waterAdd = scanner.nextInt();
water = addingValue(water, waterAdd);
~~
~~
}
public static int addingValue(int value,int input) {
return value+input;
}
atirodik de el is veszik az ertek miutan vege a fillAction() funkcionak.
Nem irtam le a tobbi valtozo erteket, de ha tobb valtozo erteket akarom megvaltoztatni egy funkcioval, azt nem lehet ? csak ha esetleg tobmen kuldenem ki egy returnon keresztul a funkcio vegen. De akkor meg azt szetkene szedni - array[0] ...es egyenkent kiszedni majd hozza adni a mainben levo valtozokhoz. Van ennek mas modja is ?
addingValue - funkcio felesleges, azt gondoltam ha ott a return esetleg megvaltoztatja majd a mainben levo valtozo erteket. Ott kene hozza rendenem ezt az addingValue -t
A kerdes, hogy Ti hogy csinaljatok ? Ha egy funkcion kersztul tobb valtozot akartok valtoztatni ?
Illetve ha megelégszel a kevésbé OOP szemléletű megoldással, akkor azt is csinálhatod, hogy készítesz egy osztályt, abba töltöd fel az értékeket, és az abban lévő értékekkel dolgozol, visszaírod bele, és azt adod vissza a Main-be, mert az összetett adattípusok (mint amilyen az osztály) referencia szerint adódnak át.
Végső esetben használhatod a primitíveknek megfelelő csomagolóosztályokat (Integer, stb.), és azokkal is dolgozhatsz. Mivel azok is osztályok, így referenciaként fognak átadódni. Bár ezzel a több érték visszaadásának problémáját nem küszöbölöd ki.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, 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!