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?
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".