Cho class như sau: 1: public interface Comparable { 2: int compareTo(Object other); 3: } 4: class Employee implements Comparable { 5: public int compareTo(Object other) { 6: Employee other = (Employee) otherObject; 7: return 0; 8: } 9: } Chương trình trên sai ở dòng nào"
Đáp án đúng: A
Chương trình sai ở dòng 6.
Trong dòng 6, biến other
đã được khai báo ở dòng 5, việc khai báo lại biến other
trong cùng một scope sẽ gây ra lỗi biên dịch. Hơn nữa, tên biến otherObject
không được định nghĩa.
Để sửa lỗi, cần bỏ khai báo lại biến other
và sử dụng đúng tên biến đã được truyền vào (ví dụ: otherObject
nếu đó là tên tham số dự định):
class Employee implements Comparable { public int compareTo(Object otherObject) { Employee other = (Employee) otherObject; // Sửa thành other = (Employee) otherObject; return 0; }}
Câu hỏi liên quan
A. Sai. Trường final không thể sử dụng với volatile. volatile được dùng để đảm bảo biến được đọc từ bộ nhớ chính, tránh cache của thread, trong khi final đảm bảo giá trị của biến không thay đổi sau khi khởi tạo. Hai tính chất này loại trừ lẫn nhau.
B. Đúng. Phương thức native trong Java được triển khai bằng ngôn ngữ khác (ví dụ C, C++) và không có nội dung (body) trong file Java.
C. Sai. Các trường transient được dùng để chỉ ra rằng một trường không nên được serialize. final và static không nên đi kèm với transient vì final là hằng số và static thuộc về class, không thuộc về instance cụ thể để cần serialize.
Vậy đáp án sai là A và C. Tuy nhiên trong các đáp án thì C sai hơn vì transient, final và static thường không đi chung với nhau.
Để tìm ra đáp án, ta cần xác định có bao nhiêu bộ ba số nguyên dương (traudung, traunam, traugia) thỏa mãn đồng thời các điều kiện sau:
1. 1 <= traudung <= 8
2. 1 <= traunam <= 9 - traudung
3. 1 <= traugia <= 9 - (traudung + traunam)
4. 5 * traudung + 3 * traunam + traugia = 10
Xét các trường hợp:
* Nếu traudung = 1, ta có 3 * traunam + traugia = 5. Vì 1 <= traunam <= 8 và 1 <= traugia <= 9 - (1 + traunam) = 8 - traunam. Ta có:
* traunam = 1 => traugia = 2. Thỏa mãn.
* Nếu traudung = 2, ta có 3 * traunam + traugia = 0. Không có nghiệm thỏa mãn vì traunam và traugia đều >=1.
Vậy, chỉ có một bộ số thỏa mãn là (1, 1, 2). Chương trình sẽ in ra "1 1 2" và `pa` sẽ tăng lên 1. Giá trị cuối cùng của `pa` là 1.
Như vậy, đoạn chương trình in ra 1 kết quả duy nhất là "1 1 2".
- k = 1: Vòng lặp `n` không chạy vì `n` bắt đầu từ 2 và điều kiện là `n <= k`.
- k = 2: Vòng lặp `n` chạy một lần với n = 2. `2 % 2 == 0`, `dem` trở thành 1. Vì `dem > 1` là sai, không in ra gì.
- k = 3: Vòng lặp `n` chạy hai lần với n = 2 và n = 3.
- n = 2: `3 % 2 != 0`.
- n = 3: `3 % 3 == 0`, `dem` trở thành 1. Vì `dem > 1` là sai, không in ra gì.
- k = 4: Vòng lặp `n` chạy ba lần với n = 2, n = 3 và n = 4.
- n = 2: `4 % 2 == 0`, `dem` trở thành 1.
- n = 3: `4 % 3 != 0`.
- n = 4: `4 % 4 == 0`, `dem` trở thành 2. Vì `dem > 1` là đúng, in ra 4.
- k = 5: Vòng lặp `n` chạy bốn lần với n = 2, n = 3, n = 4 và n = 5.
- n = 2: `5 % 2 != 0`.
- n = 3: `5 % 3 != 0`.
- n = 4: `5 % 4 != 0`.
- n = 5: `5 % 5 == 0`, `dem` trở thành 1. Vì `dem > 1` là sai, không in ra gì.
- k = 6: Vòng lặp `n` chạy năm lần với n = 2, n = 3, n = 4, n = 5 và n = 6.
- n = 2: `6 % 2 == 0`, `dem` trở thành 1.
- n = 3: `6 % 3 == 0`, `dem` trở thành 2. Vì `dem > 1` là đúng, in ra 6.
- k = 7: Vòng lặp `n` chạy sáu lần với n = 2, n = 3, n = 4, n = 5, n = 6 và n = 7.
- n = 2: `7 % 2 != 0`.
- n = 3: `7 % 3 != 0`.
- n = 4: `7 % 4 != 0`.
- n = 5: `7 % 5 != 0`.
- n = 6: `7 % 6 != 0`.
- n = 7: `7 % 7 == 0`, `dem` trở thành 1. Vì `dem > 1` là sai, không in ra gì.
- k = 8: Vòng lặp `n` chạy bảy lần với n = 2, n = 3, n = 4, n = 5, n = 6, n = 7 và n = 8.
- n = 2: `8 % 2 == 0`, `dem` trở thành 1.
- n = 3: `8 % 3 != 0`.
- n = 4: `8 % 4 == 0`, `dem` trở thành 2. Vì `dem > 1` là đúng, in ra 8.
- k = 9: Vòng lặp `n` chạy tám lần với n = 2, n = 3, n = 4, n = 5, n = 6, n = 7, n = 8 và n = 9.
- n = 2: `9 % 2 != 0`.
- n = 3: `9 % 3 == 0`, `dem` trở thành 1.
- n = 4: `9 % 4 != 0`.
- n = 5: `9 % 5 != 0`.
- n = 6: `9 % 6 != 0`.
- n = 7: `9 % 7 != 0`.
- n = 8: `9 % 8 != 0`.
- n = 9: `9 % 9 == 0`, `dem` trở thành 2. Vì `dem > 1` là đúng, in ra 9.
- k = 10: Vòng lặp `n` chạy chín lần với n = 2, n = 3, n = 4, n = 5, n = 6, n = 7, n = 8, n = 9 và n = 10.
- n = 2: `10 % 2 == 0`, `dem` trở thành 1.
- n = 3: `10 % 3 != 0`.
- n = 4: `10 % 4 != 0`.
- n = 5: `10 % 5 == 0`, `dem` trở thành 2. Vì `dem > 1` là đúng, in ra 10.
Vậy kết quả là 468910.
* k = 1: Vòng lặp `n` không chạy vì `n` bắt đầu từ 2 và `2 <= k` là sai. Không in gì.
* k = 2: Vòng lặp `n` chạy một lần với `n = 2`. `k % n == 0` (2 % 2 == 0) nên `dem++`, `dem` trở thành 1. `dem > 1` là sai. Không in gì.
* k = 3: Vòng lặp `n` chạy với `n = 2` và `n = 3`. Với `n = 2`, `k % n != 0`. Với `n = 3`, vòng lặp không chạy vì điều kiện `n<=k` đã vi phạm ngay từ đầu. `dem` vẫn là 0. `dem > 1` là sai. Không in gì.
* k = 4: Vòng lặp `n` chạy với `n = 2`, `n = 3` và `n = 4`.
* `n = 2`: `4 % 2 == 0`, `dem++`, `dem = 1`.
* `n = 3`: `4 % 3 != 0`.
* `n = 4`: `4 % 4 == 0`, `dem++`, `dem = 2`.
`dem > 1` là đúng. In ra 4.
* k = 5: Vòng lặp `n` chạy từ 2 đến 5. `dem` chỉ tăng khi `n` là 5 (5 % 5 == 0), vậy `dem` là 1. Không in gì.
* k = 6: Vòng lặp `n` chạy từ 2 đến 6.
* `n = 2`: `6 % 2 == 0`, `dem = 1`.
* `n = 3`: `6 % 3 == 0`, `dem = 2`.
`dem > 1` là đúng. In ra 6.
* k = 7: Vòng lặp `n` chạy từ 2 đến 7. `dem` chỉ tăng khi `n` là 7, vậy `dem` là 1. Không in gì.
* k = 8: Vòng lặp `n` chạy từ 2 đến 8.
* `n = 2`: `8 % 2 == 0`, `dem = 1`.
* `n = 3`: `8 % 3 != 0`.
* `n = 4`: `8 % 4 == 0`, `dem = 2`.
`dem > 1` là đúng. In ra 8.
* k = 9: Vòng lặp `n` chạy từ 2 đến 9.
* `n = 2`: `9 % 2 != 0`.
* `n = 3`: `9 % 3 == 0`, `dem = 1`.
* `n = 4`: vòng lặp không chạy vì điều kiện `n<=k` đã vi phạm ngay từ đầu.
* `n = 9`: `9 % 9 == 0`, `dem = 2`.
`dem > 1` là đúng. In ra 9.
* k = 10: Vòng lặp `n` chạy từ 2 đến 10.
* `n = 2`: `10 % 2 == 0`, `dem = 1`.
* `n = 3`: `10 % 3 != 0`.
* `n = 4`:`10 % 5 != 0`.
* `n = 5`: `10 % 5 == 0`, `dem = 2`.
* `n = 10`: `10 % 10 == 0`, `dem = 3`.
`dem > 1` là đúng. In ra 10.
Vậy, kết quả là 468910

Bộ Đồ Án Tốt Nghiệp Ngành Trí Tuệ Nhân Tạo Và Học Máy

Bộ 120+ Đồ Án Tốt Nghiệp Ngành Hệ Thống Thông Tin

Bộ Đồ Án Tốt Nghiệp Ngành Mạng Máy Tính Và Truyền Thông

Bộ Luận Văn Tốt Nghiệp Ngành Kiểm Toán

Bộ 370+ Luận Văn Tốt Nghiệp Ngành Kế Toán Doanh Nghiệp

Bộ Luận Văn Tốt Nghiệp Ngành Quản Trị Thương Hiệu
ĐĂNG KÝ GÓI THI VIP
- Truy cập hơn 100K đề thi thử và chính thức các năm
- 2M câu hỏi theo các mức độ: Nhận biết – Thông hiểu – Vận dụng
- Học nhanh với 10K Flashcard Tiếng Anh theo bộ sách và chủ đề
- Đầy đủ: Mầm non – Phổ thông (K12) – Đại học – Người đi làm
- Tải toàn bộ tài liệu trên TaiLieu.VN
- Loại bỏ quảng cáo để tăng khả năng tập trung ôn luyện
- Tặng 15 ngày khi đăng ký gói 3 tháng, 30 ngày với gói 6 tháng và 60 ngày với gói 12 tháng.