Beberapa kali saya menjumpai momen ketika siswa tidak memahami logika interaksi antar metode. Dalam salah satu pertanyaan untuk tugas tersebut, kode 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;
}
}
Faktanya, dengan mengikuti kode ini, berapa pun nilai yang kita berikan ke metode tersebut convertCelsiusToFahrenheit
, kita akan selalu mendapatkan keluaran yang sama. Bagaimana seharusnya interaksi tersebut terjadi? Mari kita bayangkan bahwa itu ada Anda. Anda punya uang dan ingin membeli konsol, mengetahui harganya. Namun Anda terlalu bersemangat mempelajari Java sehingga tidak punya waktu untuk membeli konsol.
public static void main(String[] args) {
Tapi Anda punya teman yang punya waktu dan suka jalan-jalan di toko.
public static String friendVasya(int money) {
int price = 300;
Dalam hal ini, saya membuat metode friendVasya
dengan tipe pengembalian String
, sebagai gantinya Anda dapat mengatur tipe data lainnya, semuanya tergantung pada apa yang pada akhirnya ingin Anda dapatkan. Ketika metode ini dijalankan, friendVasya
ia akan menerima sejumlah uang yang Anda tentukan dalam argumen ( int money
). Teman Vasya mungkin memiliki banyak urusan atau kebutuhannya sendiri, kami akan menjelaskan semua ini dalam metode ini friendVasya
, tetapi kami hanya tertarik pada apakah dia akan membelikan kami konsol. Jadi mari tambahkan fitur ini padanya.
public static String friendVasya(int money){
int cash = money - price;
String purchase;
Oleh karena itu, mungkin ada cukup uang, atau mungkin tidak cukup. Mari terapkan respons berbeda 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);}
Sebagai hasil dari memanggil metode tersebut friendVasya
dan memberikan uang ke dalamnya dalam bentuk argumen uang, kita akan dapat membeli konsol atau mengetahui bahwa tidak ada cukup uang untuk pembelian tersebut. Yang tersisa hanyalah menambahkan panggilan ke metode ini dalam kode program, yang menunjukkan berapa banyak uang yang ingin Anda berikan untuk konsol /*dalam hal ini adalah 500 */:
public static void main(String[] args) {
System.out.println(friendVasya(500));
Kode lengkap:
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);
}
}
Faktanya, inti dari semua kode ini adalah:
- Meluncurkan
main
dan mengaktifkan metodeSystem.out.println
// Ingin konsol, bertemu teman; - menyampaikan argumen
int money = 500
// Mentransfer uang ke teman; - meluncurkan metode
friendVasya
dan memproses argumenint money
yang diterima dari metodemain
// Vasya pergi ke toko dan mencoba membeli dekoder dengan uang yang diberikan; - kembali
String purchase
ke metodemain
sebagai argumen yang diteruskanreturn
ke metodeprintln
// Vasya melaporkan apakah dia berhasil melakukan ini atau tidak.
GO TO FULL VERSION