JavaScript is required

Cho đoạn chương trình sau:

String s= " Nguyen Van An ";

String s1 = new String();

s = s.trim();

int i;

for (i = s.length() - 1; i >= 0; i--) { // Sửa lỗi i++ thành i--

s1 = s.substring(i,i+1);

if (s1.equals(" ")) break;

}

System.out.print(s.substring(i+1));

Chương trình trên in ra kết quả là bao nhiêu?

A.

An

B.

Van An

C.

Nguyen Van An

D.

Lỗi biên dịch

Trả lời:

Đáp án đúng: A


Đoạn chương trình này thực hiện các bước sau: 1. **Khởi tạo chuỗi s:** `String s= " Nguyen Van An ";` Khởi tạo chuỗi s với giá trị " Nguyen Van An " (có khoảng trắng ở đầu). 2. **Khởi tạo chuỗi s1:** `String s1 = new String();` Khởi tạo một chuỗi s1 rỗng. 3. **Cắt bỏ khoảng trắng đầu và cuối chuỗi s:** `s = s.trim();` Loại bỏ khoảng trắng ở đầu và cuối chuỗi s. Lúc này, s = "Nguyen Van An". 4. **Vòng lặp:** Vòng lặp `for` duyệt ngược từ cuối chuỗi s đến khi gặp khoảng trắng đầu tiên (tính từ cuối chuỗi). * `for (i = s.length() - 1; i >= 0; i--)` * `s1 = s.substring(i,i+1);` Lấy ký tự tại vị trí i. * `if (s1.equals(" ")) break;` Nếu ký tự tại vị trí i là khoảng trắng, vòng lặp dừng. 5. **In ra chuỗi con:** `System.out.print(s.substring(i+1));` In ra chuỗi con của s bắt đầu từ vị trí i+1. Vòng lặp dừng khi i là vị trí của khoảng trắng giữa "Van" và "An". Vậy i+1 là vị trí bắt đầu của từ "An". Do đó, chương trình sẽ in ra "An".

Câu hỏi liên quan