Kezdőoldal » Számítástechnika » Programozás » Javaban hogyan tudom a mainben...

Javaban hogyan tudom a mainben levo valtozo erteket megvaltoztatni funkciobol, esetleg hogyan lehet tobb return elvegezni egy funkcion belul ?

Figyelt kérdés

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 ?



2022. márc. 30. 20:02
 1/4 A kérdező kommentje:

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 ?

2022. márc. 30. 20:05
 2/4 anonim ***** válasza:
Én csinálnék egy osztályt rá, mondjuk CoffeeMachine vagy valami ilyesmi néven. Ennek a privát mezői lennének a water, milk, beans, cups, mindegyikhez lenne getter/setter, írnék hozzá olyan metódusokat amik kiszámolják és visszaadják a szükséges értékeket, a Main-ben példányosítanám... valahogy így.
2022. márc. 30. 20:59
Hasznos számodra ez a válasz?
 3/4 anonim ***** válasza:

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.

2022. márc. 30. 21:10
Hasznos számodra ez a válasz?
 4/4 A kérdező kommentje:
koszi a tanacsokat!
2022. márc. 31. 12:47

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!