JavaRush /Java блог /Random UA /Пояснення взаємодії методів (для новачків)
Alex Ter
14 рівень
Великий Новгород

Пояснення взаємодії методів (для новачків)

Стаття з групи Random UA
Пояснення взаємодії методів (для новачків) - 1Кілька разів, я вже натикався на моменти, коли студенти не розуміють логіку взаємодії методів. В одному з питань до завдань було наведено наступний код:
public class Solution {
    public static void main(String[] args) {
        System.out.println(convertCelsiusToFahrenheit(41));
    }
    public static double convertCelsiusToFahrenheit(int celsius) {
        double TC = 41;
        double TF = 9 / 5.0 * TC + 32;
        return TF;
    }
}
Фактично, дотримуючись цього коду, не важливо, яке значення ми передамо в метод convertCelsiusToFahrenheit, на виході будемо отримувати завжди одне й теж. Як має відбуватися взаємодія? Уявімо, що ось є Ви. У вас є кілька грошей і ви хочете купити приставку, знаючи ціну. Але Ви так захоплені вивченням Java, що часу на придбання приставки у вас немає.
public static void main(String[] args) {
Зате у вас є друг, який має час, і він любить вештатися по магазинах.
public static String friendVasya(int money) {
int price = 300;
В даному випадку я створив метод friendVasyaз типом значення, що повертається String, замість цього можна було задати будь-який інший тип даних, все залежить від того, що ви в результаті хочете отримати. При запуску методу friendVasyaотримає кількість грошей, що Ви вкажіть в аргументі ( int money). У друга Васі може бути купа своїх справ чи потреб, все це ми б описали в методі friendVasya, але нас цікавить тільки чи він придбає нам приставку. Тож додамо йому цю нагоду.
public static String friendVasya(int money){
int cash = money - price;
String purchase;
І, відповідно, грошей може вистачити, може не вистачити. Давайте реалізуємо різні відповіді за цих ситуацій.
public static String friendVasya(int money){
int price = 300;
int cash = money - price;
String purchase;
if (cash>=0){
purchase = "Купил";}
else{
purchase = "Этого мало. Где деньги, Лебовски?";}
return String.format(purchase);}
В результаті виклику методу friendVasyaі передачі грошей у вигляді аргументу money, ми зможемо купити приставку або дізнатися, що грошей на покупку не вистачає. Залишилось додати виклик цього методу до коду програми, вказавши, скільки грошей ви готові дати на приставку /*в даному випадку буде 500 */:
public static void main(String[] args) {
System.out.println(friendVasya(500));
Код повністю:
public class Game {
public static void main(String[] args) {
System.out.println(friendVasya(500));
}
public static String friendVasya(int money){
int price = 300;
int cash = money - price;
String purchase;
if (cash>=0){
purchase = "Купил";}
else{
purchase = "Этого мало. Где деньги, Лебовски?";}
return String.format(purchase);
}
}
Фактично суть всього цього коду:
  • Запуск mainта активація методу System.out.println// Захотіли приставку, зустрілися з другом;
  • передали аргумент int money = 500// Передали гроші другові;
  • запуск методу friendVasyaта обробка аргументу int money, отриманого з методу main// Вася йде в магазин і намагається купити на видані гроші приставку;
  • повернення String purchaseв метод main, як аргумент, що передається returnв метод println// Вася повідомляє, чи вдалося йому це зробити чи ні.
Наче хотів простіше пояснити, а по ходу навернув ще складніше) PS Перша стаття. Сам поки що далеко не повз (рівень 3). Так що в очікуванні критики по суті)
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ