




Preview text:
1. (0.150 Point)
Câu lệnh khai báo chuẩn cho phương thức main như thế nào?
A. public static void main(String[] a) {}
B. public static int main(String args) {}
C. public static main(String[] args) {}
D. public static final void main(String[] args) {} 2. (0.150 Point)
Java chạy trên hệ điều hành nào sau đây: A. Microsoft Windows B. Linux C. Sun Solaris OS
D. Tất cả các đáp án đều đúng. 3. (0.150 Point) API là gì?
A. Thư viện mã nguồn của Java.
B. Là thư viện chứa các thành phần phần mềm tạo sẵn cung cấp các chức năng cho chương trình Java.
C. Thư viện cung cấp giao diện đồ họa cho chương trình Java. D. Tất cả đều sai. 4. (0.150 Point)
Ngôn ngữ lập trình Java cung cấp các tính năng nào sau đây? A. Thư viện tích hợp
B. Giao diện lập trình ứng dụng
C. Bộ công cụ giao diện người dùng D. Tất cả đáp án trên 5. (0.150 Point)
File chứa mã nguồn java sau khi được biên dịch có đuôi là gì? A. Java B. class C. jav D. exe 6. (0.150 Point)
Để khai báo hằng số MAX_LENGTH trong một phương thức có giá trị 99,98, bạn viết A. final MAX_LENGTH = 99.98;
B. final float MAX_LENGTH = 99.98; C. double MAX_LENGTH = 99.98;
D. final double MAX_LENGTH = 99.98; 7. (0.150 Point)
Thứ tự các từ khóa public và static khi khai bao như thế nào? A.
public đứng trước static.
B. static đứng trước public
C. Thứ tự bất kỳ nhưng thông thường public đứng trước
D. Tất cả đều sai. 8. (0.150 Point)
Đặc trưng hướng đối tượng nào cho phép bạn lấy được các lớp mới từ các lớp hiện có. A. đóng gói B. kế thừa C. trừu tượng
D. quan hệ kế thừa (tổng quát hóa) 9. (0.150 Point)
Phát biểu nào liên quan đến từ khóa super là không chính xác? A.
Bạn có thể sử dụng super để gọi một hàm tạo của lớp cha.
B. Bạn có thể sử dụng siêu để gọi một phương thức của lớp cha.
C. Bạn có thể sử dụng super.super.p để gọi một phương thức trong lớp super của lớp cha.
D. Bạn không thể gọi một phương thức trong super của lớp cha. 10. (0.150 Point)
Định nghĩa lớp trừu tượng nào sau đây là hợp lệ?
A. class A { abstract void unfinished() { } }
B. class A { abstract void unfinished(); }
C. abstract class A { abstract void unfinished(); }
D. public class abstract A { abstract void unfinished(); } 11. (0.150 Point)
Cho Calendar calendar = new GregorianCalendar(). Phương thức nào trả về tháng của năm?
A. calendar.get(Calendar.MONTH)
B. calendar.get(Calendar.MONTH_OF_YEAR)
C. calendar.get(Calendar.WEEK_OF_MONTH)
D. calendar.get(Calendar.WEEK_OF_YEAR) 12. (0.150 Point)
Phương thức nào được gọi khi tạo đối tượng. A. Hàm khởi tạo B. Hàm main
C. Một phương thức có kiểu trả về
D. Một phương thức có kiểu trả về void 13. (0.150 Point)
Cấu trúc dùng để xác định các đối tượng cùng loại là gì?. A. Lớp B. Đối tượng C. Phương thức D. Thuộc tính 14. (0.150 Point)
Các khả năng truy cập của java là:
A. public, private và protected
B. public, private và protected, internal
C. public, private và protected, internal protected D. Tất cả đều sai 15. (0.150 Point)
Đâu là từ khóa để khai một lớp trừu tượng? A. interface B. class C. abstract D. final 16. (0.150 Point)
Đâu là từ khóa dùng để khai báo giao diện? A. abstract B. interface C. class D. final 17. (0.150 Point)
Một lớp trong Java có bao nhiêu lớp con? A. 1 B. 2 C. 3 D. Vô số 18. (0.150 Point)
Để sử dụng giao diện Xemay cho lớp Xega, ta làm thế nào?
A. class Xega implement Xemay{}
B. public class Xega implement Xemay{}
C. class Xega implements Xemay{}
D. public class Xega extends Xemay{} 19. (0.150 Point)
Giả sử A là một lớp trừu tượng, B là một lớp con cụ thể của A và cả A và B đều có một hàm tạo mặc
định. Điều nào sau đây là đúng? A. A a = new A(); B. A a = new B(); C. B b = new A(); D. Phương án A và C 20. (0.150 Point)
Java Interface có những đặc điểm chính nào dưới đây?
A. Các method được khai báo trong Interface phải là method rỗng.
B. Không thể tạo đối tượng từ Interface.
C. Một Class có thể implement một hoặc nhiều Interface. D. Cả 3 phương án trên. 21. (0.150 Point)
Trong các khai báo giao diện sau, khai báo nào là đúng.
A. public abtract MyInterface{}
B. public class MyInterface {}
C. public interface MyInterface {}
D. public interface MyInterface() 22. (0.150 Point)
Để tạo một label có nhãn được xác định, bạn dùng lệnh nào dưới đây? A. new Labelled(); B. new Label(); C. new Labelled(text); D. new Label(text); 23. (0.150 Point)
Có bao nhiêu items được thêm vào trong đối tượng Combobox (Choice)? A. 0 B. 1 C. 2
D. Không giới hạn 24. (0.150 Point)
Biểu thức nào sau đây phải đúng nếu bạn tạo một thread bằng Thread = new Thread (object)? A. object instanceof Thread B. object instanceof Frame C. object instanceof Applet D. object instanceof Runnable 25. (0.150 Point)
Bạn có thể sử dụng phương thức nào dưới đây để buộc một thread chờ đợi một thread khác kết thúc. A. yield() B. stop() C. suspend() D. join() 26. (0.150 Point)
Phương thức nào dưới đây được gọi để trả về phần tử đầu tiên của danh sách x? A. x.first() B. x.get(0) C. x.get(1) D. x.get() 27. (0.150 Point)
Phương thức nào dưới đây được gọi để trả về số phần tử trong danh sách x? A. x.getSize() B. x.getLength(0) C. x.length(1) D. x.size() 28. (0.150 Point)
Phát biểu nào sau đây là KHÔNG đúng?
A. Nếu bạn biên dịch một giao diện không có lỗi, một tệp. Class được tạo ra cho giao diện.
B. Nếu bạn biên dịch một lớp không có lỗi nhưng có cảnh báo, tệp. Class sẽ được tạo.
C. Nếu bạn biên dịch một lớp có lỗi, một tệp. Class được tạo cho lớp.
D. Nếu bạn biên dịch một giao diện không có lỗi, nhưng với các cảnh báo, một tệp. Class được tạo cho giao diện. 29. (0.150 Point)
Một lớp trong Java có thể có bao nhiêu lớp cha? A. 1 B. 2 C. 3 D. 4 30. (0.150 Point)
Đối tượng trong phần mềm là gì?
A. Là một bó phần mềm gồm các hành vi và trạng thái có liên quan với nhau.
B. Là vật thể xác định của thế giới thực.
C. Là vật thể gồm hành vi và trạng thái.
D. Là các đối tượng được biểu diễn trong phần mềm gồm có 2 thuộc tính trường dữ liệu và các
phương thức xử lý dữ liệu 31. (0.250 Point)
Các biến được sử dụng trong một lệnh switch có thể được sử dụng với kiểu dữ liệu nào? 32. (0.250 Point)
Khi nào phương thức parseInt() có thể được sử dụng? 33. (0.250 Point)
Lệnh import được sử dụng ở đâu trong một chương trình Java? 34. (0.250 Point)
Tính kế thừa (Inheritance) là gì? 35. (0.250 Point)
Khi nào phương thức abstract được sử dụng? 36. (0.250 Point)
Lợi ích chính của tính bao đóng? 37. (0.250 Point)
Một số đặc điểm của Interface? 38. (0.250 Point)
Exception (Ngoại lệ) là gì? 39. (0.250 Point)
Hãy liệt kê các bộ quản lý trình bày cơ bản của các khung chứa (Frame, panel ..)? 40. (0.250 Point)
Hai intefaces lắng nghe (bộ lắng nghe sự kiện chuột) là gì? 41. (3.000 Points)
Xây dựng chương trình quản lý danh sách hóa đơn viện phí của bệnh nhân. Thông tin bao gồm các loại bệnh nhân:
Bệnh nhân có bảo hiểm y tế: mã bệnh nhân, họ tên, ngày nhập viện (ngày, tháng, năm), mã số bảo
hiểm, phòng theo yêu cầu (đại diện hai giá trị true có yêu cầu, false không yêu cầu).
Hóa đơn viện phí được tính như sau:
- Nếu có yêu cầu về phòng thì: thành tiền = (Số ngày nhập viện đơn giá phòng 200.000) – 70%,
trong đó 70% tiền bảo hiểm được tính như sau (Số ngày nhập viện đơn giá phòng)70 / 100.
- Ngược lại phòng không theo yêu cầu : thành tiền = (Số ngày nhập viện đơn giá phòng) – 70%.
Bệnh nhân có bảo hiểm xã hội: mã bệnh nhân, họ tên, ngày nhập viện (ngày, tháng, năm), phòng
theo yêu cầu (đại diện hai giá trị true có yêu cầu, false không yêu cầu), mã bảo hiểm xã hội.
Hóa đơn viện phí được tính như sau:
- Nếu có yêu cầu về phòng thì: thành tiền = (Số ngày nhập viện đơn giá phòng 200.000).
- Ngược lại : thành tiền = (Số ngày nhập viện đơn giá phòng).
Thực hiện các yêu cầu sau:
41.1: (0.25 điểm) Định nghĩa interface IVIENPHI với thuộc tính đơn giá phòng=150.000/1 ngày, và
phương thức Tinhhoadonvienphi().
41.2: (0.25 điểm) Xây dựng lớp BENHNHAN có các thuộc tính: mã bệnh nhân, họ tên, ngày nhập
viện (ngày, tháng, năm), phòng theo yêu cầu, phương thức tính số ngày nhập viện(ngày nhập viện –
trừ ngày ra viện) và phương thức toString().
41.3: (0.25 điểm) Định nghĩa lớp BENHNHANBAOHIEMYTE có thuộc tính mã số bảo hiểm kế
thừa lớp BENHNHAN và hiện thực giao diện IVIENPHI .
41.4: (0.25 điểm) Định nghĩa lớp BENHNHANBAOHIEMXAHOI có thuộc tính mã bảo hiểm xã
hội kế thừa lớp BENHNHAN và hiện thực giao diện IVIENPHI .
41.5: (1 điểm) Định nghĩa lớp DSBENHNHAN để thực hiện các chức năng: thêm mới bệnh nhân,
(xóa, cập nhật, tìm kiếm thông tin) theo mã bệnh nhân, tính tổng tiền viện phí cho từng loại bệnh
nhân, ghi thông tin bệnh nhân vào tệp file có tên (DSBENHNHAN.txt).
41.6: (1 điểm) Thiết kế lớp giao diện đồ họa có tên GUIBENHNHAN cho phép thực hiện các chức
năng: thêm mới bệnh nhân, xóa bệnh nhân được chỉ định theo mã bệnh nhân, cập nhật thông tin một
bệnh nhân được chỉ định theo mã bệnh nhân, tìm kiếm bệnh nhân theo mã chỉ định, ghi và xuất
thông tin bệnh nhân từ tệp file DSBENHNHAN.txt