JavaScript is required

Một phương thức được khai báo double CalcPay(int hoursWorked). Giả sử bạn viết một phương thức có chứa int hours = 35, và double pay; cái nào sau đây đều là cách chính xác để sử dụng phương thức CalcPay?

A.

hours = CalcPay(pay)

B.

hours = CalcPay()

C.

pay = CalcPay(hoursWorked)

D.

pay = CalcPay(hours)

Trả lời:

Đáp án đúng: D


Câu hỏi kiểm tra cách gọi một phương thức có tham số và giá trị trả về. Phương thức `CalcPay` được khai báo là `double CalcPay(int hoursWorked)`, có nghĩa là nó nhận một số nguyên làm tham số (`hoursWorked`) và trả về một giá trị kiểu số thực dấu chấm động (`double`). * **Phương án 1: `hours = CalcPay(pay)`** Sai. Vì `CalcPay` trả về một giá trị kiểu `double`, và biến `hours` là kiểu `int`, việc gán trực tiếp như vậy có thể gây mất mát dữ liệu (phần thập phân của `double` sẽ bị bỏ qua khi chuyển sang `int`). Thêm vào đó, `CalcPay` cần một tham số kiểu `int`, nhưng lại được truyền vào `pay` (kiểu `double`). * **Phương án 2: `hours = CalcPay()`** Sai. Vì `CalcPay` yêu cầu một tham số kiểu `int`, nhưng lại không được truyền tham số nào. * **Phương án 3: `pay = CalcPay(hoursWorked)`** Sai. Biến `hoursWorked` chưa được khởi tạo giá trị. Mặc dù cú pháp có vẻ đúng (gán giá trị trả về kiểu `double` của `CalcPay` cho biến `pay` kiểu `double`), nhưng việc sử dụng một biến chưa được khởi tạo sẽ gây ra lỗi. * **Phương án 4: `pay = CalcPay(hours)`** Đúng. `hours` là một biến kiểu `int` đã được khởi tạo giá trị (35), và `CalcPay` nhận một tham số kiểu `int`. Giá trị trả về kiểu `double` của `CalcPay` được gán cho biến `pay` kiểu `double`, hoàn toàn hợp lệ. Vậy, phương án 4 là cách sử dụng chính xác phương thức `CalcPay` đã cho.

Câu hỏi liên quan