JavaScript is required

Cho đoạn mã sau:

1: for(int i=0;i<2;i ++){

2: for(int j=0;j<3;j ++){

3: if(i==j ){

4: continue;

5: }

6: System.out.println("i="+i+" j="+j);

7: }

8: }

Dòng nào sẽ là một trong các kết quả được in ra?

A.

i = 0 j = 0

B.

i = 2 j = 1

C.

i = 0 j = 2

D.

i = 1 j = 1

Trả lời:

Đáp án đúng: C


Đề bài yêu cầu tìm dòng output đúng từ đoạn code cho trước. Đoạn code bao gồm hai vòng lặp for lồng nhau. Vòng lặp ngoài chạy từ i = 0 đến i = 1. Vòng lặp trong chạy từ j = 0 đến j = 2. Bên trong vòng lặp trong, có một câu lệnh điều kiện if(i==j). Nếu i bằng j, lệnh continue được thực thi, bỏ qua phần còn lại của vòng lặp trong và chuyển đến lần lặp tiếp theo. Nếu i không bằng j, dòng System.out.println("i="+i+" j="+j) sẽ in ra giá trị của i và j. Phân tích các đáp án: - A. i = 0 j = 0: Khi i = 0 và j = 0, điều kiện i == j đúng, lệnh continue được thực thi, nên dòng này không được in ra. - B. i = 2 j = 1: Giá trị i = 2 không nằm trong phạm vi của vòng lặp ngoài (i < 2), nên không có output nào có i = 2. - C. i = 0 j = 2: Khi i = 0 và j = 2, điều kiện i == j sai, nên dòng System.out.println("i="+i+" j="+j) được thực thi và in ra "i=0 j=2". - D. i = 1 j = 1: Khi i = 1 và j = 1, điều kiện i == j đúng, lệnh continue được thực thi, nên dòng này không được in ra. Vậy đáp án đúng là C.

Câu hỏi liên quan