JavaScript is required

Cho đoạn mã sau:

1.public static void main(String[ ] args) {

2.float S = 0.0F;

3.int N=3,k;

4.for (k = 1; k <= N; k ++)

5.S += 1/sum(k);

6.System.out.print(S);

7.}

8.public static float sum(int k) {

9.float tong = 0;

10.for (int x = 1; x <= k; x ++)

11.tong +=tich(x);

12.return tong;

13.}

14.public float tich(int x) {

15.int t=1;

16.for (j = 1; j <= x; j ++)

17.t *= j;

18.return t;

19.}

Đoạn chương trình trên sai ở dòng nào?

A.

A.3, 9

B.

B.4, 12

C.

C.14, 16

D.

D.2, 18

Trả lời:

Đáp án đúng: C


Đoạn chương trình trên có lỗi ở dòng 14 và 16. * **Dòng 14:** `public float tich(int x)` * Phương thức `tich` phải là `static` vì nó được gọi từ phương thức `sum` là một phương thức `static`. Trong Java, một phương thức `static` chỉ có thể gọi trực tiếp các phương thức `static` khác từ cùng một lớp. * **Dòng 16:** `for (j = 1; j <= x; j ++)` * Biến `j` chưa được khai báo trong phương thức `tich`. Cần khai báo biến `j` trước khi sử dụng, ví dụ: `for (int j = 1; j <= x; j++)`. Do đó, đáp án đúng là C.14, 16

Câu hỏi liên quan