Кілька разів, я вже натикався на моменти, коли студенти не розуміють логіку взаємодії методів. В одному з питань до завдань було наведено наступний код:
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
// Вася повідомляє, чи вдалося йому це зробити чи ні.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ