JavaRush /Blog Java /Random-PL /Wyjaśnienie interakcji metod (dla początkujących)
Alex Ter
Poziom 14
Великий Новгород

Wyjaśnienie interakcji metod (dla początkujących)

Opublikowano w grupie Random-PL
Wyjaśnienie interakcji metod (dla początkujących) - 1Już kilka razy spotkałem się z momentami, w których studenci nie rozumieli logiki interakcji pomiędzy metodami. W jednym z pytań do zadań podano następujący kod:
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;
    }
}
Tak naprawdę, stosując się do tego kodu, niezależnie od tego, jaką wartość przekażemy metodzie convertCelsiusToFahrenheit, zawsze otrzymamy ten sam wynik. Jak powinna przebiegać interakcja? Wyobraźmy sobie, że jesteś ty. Masz trochę pieniędzy i chcesz kupić konsolę, znając cenę. Ale tak bardzo pasjonujesz się nauką języka Java, że ​​nie masz czasu na zakup konsoli.
public static void main(String[] args) {
Ale masz przyjaciela, który ma czas i uwielbia włóczyć się po sklepach.
public static String friendVasya(int money) {
int price = 300;
W tym przypadku stworzyłem metodę friendVasyaz typem zwracanym String, zamiast tego możesz ustawić dowolny inny typ danych, wszystko zależy od tego, co ostatecznie chcesz uzyskać. Po uruchomieniu metoda friendVasyaotrzyma kwotę określoną w argumencie ( int money). Przyjaciel Vasyi może mieć wiele własnych spraw i potrzeb, opisalibyśmy to wszystko w metodzie friendVasya, ale interesuje nas tylko to, czy kupi nam konsolę. Dodajmy więc do niego tę funkcję.
public static String friendVasya(int money){
int cash = money - price;
String purchase;
W związku z tym może być wystarczająco dużo pieniędzy lub może ich nie być. Zastosujmy różne reakcje na takie sytuacje.
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);}
W wyniku wywołania metody friendVasyai przekazania jej pieniędzy w postaci argumentu money, będziemy mogli kupić konsolę lub dowiedzieć się, że brakuje nam pieniędzy na zakup. Pozostaje tylko dodać w kodzie programu wywołanie tej metody, wskazując, ile pieniędzy jesteś skłonny przeznaczyć na konsolę /*w tym przypadku będzie to 500 */:
public static void main(String[] args) {
System.out.println(friendVasya(500));
Pełny kod:
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);
}
}
W rzeczywistości istotą całego tego kodu jest:
  • Uruchamianie maini aktywowanie metody System.out.println// Chciałem konsolę, spotkałem znajomego;
  • przekazał argument int money = 500// Przesłał pieniądze znajomemu;
  • uruchomienie metody friendVasyai przetworzenie argumentu int moneyotrzymanego od metody main// Wasia idzie do sklepu i za otrzymane pieniądze próbuje kupić dekoder;
  • powrót String purchasedo metody mainjako argument przekazany returndo metody println// Vasya raportuje, czy mu się to udało, czy nie.
Wygląda na to, że chciałem to wyjaśnić prościej, ale po drodze skomplikowałem to jeszcze bardziej) PS Pierwszy artykuł. Nie doczołgałem się jeszcze daleko (poziom 3). Czekam zatem na krytykę merytoryczną)
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION