JavaRush /Blog Java /Random-VI /Giải thích về tương tác phương pháp (dành cho người mới b...
Alex Ter
Mức độ
Великий Новгород

Giải thích về tương tác phương pháp (dành cho người mới bắt đầu)

Xuất bản trong nhóm
Giải thích sự tương tác của các phương pháp (dành cho người mới bắt đầu) - 1Đôi khi, tôi đã gặp những trường hợp học sinh không hiểu được logic của sự tương tác giữa các phương pháp. Trong một trong những câu hỏi cho nhiệm vụ, đoạn mã sau đã được đưa ra:
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;
    }
}
Trên thực tế, theo đoạn mã này, bất kể chúng ta truyền vào phương thức giá trị nào convertCelsiusToFahrenheit, chúng ta sẽ luôn nhận được cùng một kết quả. Sự tương tác nên diễn ra như thế nào? Hãy tưởng tượng rằng có bạn. Bạn có một số tiền và muốn mua một chiếc console khi đã biết giá. Nhưng bạn đam mê học Java đến mức không có thời gian để mua một chiếc console.
public static void main(String[] args) {
Nhưng bạn có một người bạn có thời gian và thích đi dạo quanh các cửa hàng.
public static String friendVasya(int money) {
int price = 300;
Trong trường hợp này, tôi đã tạo một phương thức friendVasyacó kiểu trả về String, thay vào đó bạn có thể đặt bất kỳ loại dữ liệu nào khác, tất cả phụ thuộc vào những gì cuối cùng bạn muốn nhận. Khi phương thức chạy, friendVasyanó sẽ nhận được số tiền mà bạn chỉ định trong đối số ( int money). Bạn của Vasya có thể có rất nhiều công việc hoặc nhu cầu riêng của anh ấy, chúng tôi sẽ mô tả tất cả những điều này trong phương pháp này friendVasya, nhưng chúng tôi chỉ quan tâm đến việc liệu anh ấy có mua cho chúng tôi một chiếc máy chơi game hay không. Vậy hãy thêm tính năng này cho anh ấy nhé.
public static String friendVasya(int money){
int cash = money - price;
String purchase;
Và theo đó, có thể có đủ tiền, hoặc có thể không đủ. Hãy thực hiện các phản ứng khác nhau cho những tình huống này.
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);}
Kết quả của việc gọi phương thức friendVasyavà chuyển tiền cho nó dưới dạng đối số tiền, chúng ta sẽ có thể mua một bảng điều khiển hoặc phát hiện ra rằng không có đủ tiền để mua. Tất cả những gì còn lại là thêm lệnh gọi phương thức này vào mã chương trình, cho biết bạn sẵn sàng chi bao nhiêu tiền cho bảng điều khiển /*trong trường hợp này sẽ là 500 */:
public static void main(String[] args) {
System.out.println(friendVasya(500));
Mã đầy đủ:
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);
}
}
Trên thực tế, bản chất của tất cả mã này là:
  • Khởi chạy mainvà kích hoạt phương thức System.out.println// Muốn có bàn điều khiển, gặp một người bạn;
  • đã thông qua một đối số int money = 500// Đã chuyển tiền cho bạn bè;
  • khởi chạy phương thức friendVasyavà xử lý đối số int moneynhận được từ phương thức main// Vasya đến cửa hàng và cố gắng mua một hộp giải mã tín hiệu số với số tiền đã cho;
  • quay String purchaselại phương thức maindưới dạng đối số được truyền returncho phương thức println// Vasya báo cáo liệu anh ta có thực hiện thành công việc này hay không.
Có vẻ như tôi muốn giải thích nó đơn giản hơn, nhưng trong quá trình thực hiện tôi đã làm cho nó trở nên phức tạp hơn) Bài viết PS First. Tôi chưa bò xa (cấp 3). Vì vậy, chờ đợi những lời chỉ trích về giá trị)
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION