Bài tập - Trả về số từ các phương pháp
- 10 phút
Bạn có thể thường xuyên cần trả về số từ các phương thức và sử dụng kết quả cho các tác vụ khác. Trong bài tập ngắn gọn này, bạn sẽ thực hành trả về int và kiểu double dữ liệu, đồng thời nắm bắt các giá trị trả về.
Tạo một phương thức trả về một số nguyên
Giả sử bạn đang đến thăm Việt Nam và muốn tạo một chương trình ngắn gọn để chuyển đổi tiền tệ. Bạn có thể giả định tỷ giá hối đoái hiện tại là 1 USD = 23500 VND. Trong nhiệm vụ này, bạn sẽ viết một phương thức chuyển đổi USD sang VND.
Trong Trình soạn thảo Mã Visual Studio, xóa bất kỳ mã hiện có nào khỏi các bài tập trước đó.
Nhập mã sau đây vào Trình soạn thảo Mã Visual Studio:
double usd = 23.73; int vnd = UsdToVnd(usd); Console.WriteLine($"${usd} USD = ${vnd} VND"); int UsdToVnd(double usd) { }Trong bước này, bạn khởi tạo hai biến để lưu trữ giá trị USD và VND. Lưu ý rằng nó
vndđược khởi tạo thành kết quả của phương thứcUsdToVnd. Phương thức này trả về một giá trị số nguyên vì VND thường được biểu thị bằng số nguyên. Để hiển thị kết quả chuyển đổi tiền tệ, đượcConsole.WriteLinesử dụng.Tiếp theo, bạn sẽ thêm mã để thực hiện chuyển đổi. Cập nhật phương
UsdToVndvới mã sau:int UsdToVnd(double usd) { int rate = 23500; return (int) (rate * usd); }Nếu bạn bỏ qua việc truyền khỏi kết quả trả về, bạn sẽ thấy lỗi sau:
Cannot implicitly convert type 'double' to 'int'.Điều này xảy ra do trình biên dịch cố gắng truyền giá trị được trả về để khớp với kiểu dữ liệu được chỉ định trong chữ ký phương thức. Tuy nhiên, truyền ngầm chỉ khả dụng khi không có mất dữ liệu xảy ra do chuyển đổi. Giá trị trả về phải luôn khớp với kiểu dữ liệu được chỉ định trong chữ ký phương thức, vì vậy trong trường hợp này, bạn phải truyền kết quả.
Nếu cần, hãy mở pa-nen Đầu cuối Tích hợp của Visual Studio Code.
Tại dấu nhắc lệnh Terminal, nhập dotnet run và so sánh đầu ra của bạn với phần sau:
$23.73 USD = $557655 VNDNếu mã của bạn hiển thị kết quả không mong muốn, bạn cần phải xem lại mã của mình để tìm lỗi và cập nhật. Chạy lại mã để xem bạn đã khắc phục sự cố chưa. Tiếp tục cập nhật và chạy mã của bạn cho đến khi mã của bạn tạo ra kết quả mong đợi.
Tạo một phương thức trả về một double
Tiếp theo, bạn sẽ tạo một phương pháp để chuyển đổi VND trở lại USD.
Tạo một dòng mã trống mới ở cuối
UsdToVndphương thức.Nhập mã sau:
double VndToUsd(int vnd) { }Cập nhật phương
VndToUsdvới mã sau:double VndToUsd(int vnd) { double rate = 23500; return vnd / rate; }Trong trường hợp này, bạn cần phải
ratelà adoublehoặc trình biên dịch sử dụng phép chia số nguyên và trả về một giá trị bị cắtintbớt. USD cần được biểu thị bằng một số thập phân.Nếu bạn đặt thành
ratethayintvìdouble, bạn sẽ nhận thấy rằng trình biên dịch không hiển thị cho bạn bất kỳ lỗi nào. Điều này xảy ra do giá trị của đượcvnd / ratechuyển ngầm sang kiểu dữ liệu đượcdoublechỉ định trong chữ ký phương thức. Khi tạo các phương thức trả về các giá trị số, điều quan trọng là phải xem xét các kiểu dữ liệu trong các hoạt động mà phương thức của bạn thực hiện.Xác định vị trí cuộc gọi đến và
Console.WriteLinethêm một dòng mã trống mới. Sau đó nhập mã sau để gọi phương thức mới của chúng ta và in đầu ra:Console.WriteLine($"${vnd} VND = ${VndToUsd(vnd)} USD");
Kiểm tra công việc của bạn
Trong tác vụ này, bạn sẽ chạy ứng dụng của chúng tôi từ Thiết bị đầu cuối tích hợp và xác minh mã của bạn đang hoạt động chính xác. Hãy bắt đầu.
So sánh mã của bạn với các mục sau để đảm bảo mã chính xác:
double usd = 23.73; int vnd = UsdToVnd(usd); Console.WriteLine($"${usd} USD = ${vnd} VND"); Console.WriteLine($"${vnd} VND = ${VndToUsd(vnd)} USD"); int UsdToVnd(double usd) { int rate = 23500; return (int) (rate * usd); } double VndToUsd(int vnd) { double rate = 23500; return vnd / rate; }Lưu công việc của bạn sử + Ctrl S hoặc sử dụng menu Tệp Mã Visual Studio.
Nếu cần, hãy mở pa-nen Đầu cuối Tích hợp của Visual Studio Code.
Trong pa nen EXPLORER, để mở Một Thiết bị đầu cuối tại vị trí thư mục TestProject của bạn, hãy bấm chuột phải vào TestProject, sau đó chọn Mở trong Thiết bị đầu cuối tích hợp.
Tại dấu nhắc lệnh Terminal, hãy nhập dotnet chạy
Xác minh rằng mã của bạn tạo ra đầu ra sau đây:
$23.73 USD = $557655 VND $557655 VND = $23.73 USDNếu mã của bạn hiển thị các kết quả khác nhau, bạn sẽ cần xem lại mã của mình để tìm lỗi và cập nhật. Chạy lại mã để xem bạn đã khắc phục sự cố chưa. Tiếp tục cập nhật và chạy mã của bạn cho đến khi mã của bạn tạo ra kết quả mong đợi.