JavaRush /Blog Java /Random-MS /Penjelasan interaksi kaedah (untuk pemula)
Alex Ter
Tahap
Великий Новгород

Penjelasan interaksi kaedah (untuk pemula)

Diterbitkan dalam kumpulan
Penjelasan interaksi kaedah (untuk pemula) - 1Beberapa kali, saya sudah terjumpa saat pelajar tidak memahami logik interaksi antara kaedah. Dalam salah satu soalan untuk tugasan, kod berikut diberikan:
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;
    }
}
Malah, mengikut kod ini, tidak kira apa nilai yang kita berikan kepada kaedah convertCelsiusToFahrenheit, kita akan sentiasa mendapat output yang sama. Bagaimanakah interaksi harus berlaku? Mari kita bayangkan bahawa ada anda. Anda mempunyai sedikit wang dan ingin membeli konsol, mengetahui harganya. Tetapi anda sangat berminat untuk mempelajari Java sehingga anda tidak mempunyai masa untuk membeli konsol.
public static void main(String[] args) {
Tetapi anda mempunyai rakan yang mempunyai masa dan suka merayau-rayau di sekitar kedai.
public static String friendVasya(int money) {
int price = 300;
Dalam kes ini, saya mencipta kaedah friendVasyadengan jenis pulangan String, sebaliknya anda boleh menetapkan mana-mana jenis data lain, semuanya bergantung pada apa yang akhirnya anda ingin dapatkan. Apabila kaedah berjalan, friendVasyaia akan menerima jumlah wang yang anda tentukan dalam hujah ( int money). Rakan Vasya mungkin mempunyai banyak urusan atau keperluannya sendiri, kami akan menerangkan semua ini dalam kaedah friendVasya, tetapi kami hanya berminat sama ada dia akan membeli kami konsol. Jadi mari kita tambahkan ciri ini kepadanya.
public static String friendVasya(int money){
int cash = money - price;
String purchase;
Dan dengan itu, mungkin ada cukup wang, atau mungkin tidak cukup. Mari kita laksanakan respons yang berbeza untuk situasi ini.
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);}
Hasil daripada memanggil kaedah friendVasyadan menyampaikan wang kepadanya dalam bentuk hujah wang, kita akan dapat membeli konsol atau mengetahui bahawa tidak ada wang yang cukup untuk pembelian. Apa yang tinggal ialah menambah panggilan ke kaedah ini dalam kod program, menunjukkan berapa banyak wang yang anda sanggup berikan untuk konsol /*dalam kes ini ia akan menjadi 500 */:
public static void main(String[] args) {
System.out.println(friendVasya(500));
Kod penuh:
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);
}
}
Malah, intipati semua kod ini ialah:
  • Melancarkan maindan mengaktifkan kaedah System.out.println// Inginkan konsol, bertemu rakan;
  • meluluskan hujah int money = 500// Memindahkan wang kepada rakan;
  • melancarkan kaedah friendVasyadan memproses hujah int moneyyang diterima daripada kaedah main// Vasya pergi ke kedai dan cuba membeli kotak set-top dengan wang yang diberikan;
  • kembali String purchasekepada kaedah mainsebagai hujah yang diluluskan returnkepada kaedah println// Vasya melaporkan sama ada dia berjaya melakukan ini atau tidak.
Nampaknya saya ingin menerangkannya dengan lebih ringkas, tetapi sepanjang perjalanan saya menjadikannya lebih rumit) Artikel pertama PS. Saya belum merangkak jauh lagi (tingkatan 3). Jadi, menunggu kritikan mengenai merit)
Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION