Professional Documents
Culture Documents
Det Hi Java 2021
Det Hi Java 2021
Câu 1 (1.5đ)
1. Nêu những đặc điểm chính của lập trình hướng đối tượng? Cho ví dụ minh họa thể hiện từng đặc điểm.
2. Interface và lớp Abstract có sự giống và khác nhau như thế nào?
Câu 2 (1đ)
So sánh truyền tham chiếu và truyền tham trị?
Câu 3 (1.5 đ)
1. Viết lớp Abstract Hinhhoc có các phương thức trừu tượng sau:
abs. + tinhdientich()
abs. + tinhchuvi()
2. Viết giao diện IKhonggian phương thức sau:
+ tinhthetich()
3. Viết lớp Hinhvuong kế thừa lớp Hinhhoc có thuộc tính sau:
#canh
4. Viết lớp Hinhchunhat kế thừa lớp Hinhhoc có thuộc tính sau:
#chieudai
#chieurong
5. Viết lớp Hinhlapphuong kế thừa lớp Hinhvuong và cài đặt giao diện IKhonggian
Câu 4 (1.5 đ)
Cho hai interface sau:
public interface StringOperate {
void initStringBase(String s);
}
public interface StringFunc{
void replaceChar(char c1, char c2);
}
1. Viết 1 interface có tên StringIns kế thừa từ 2 interface trên và chứa thêm 1 phương phức chưa được định nghĩa
là int countWord(String s).
2. Viết 1 lớp tường minh có tên StringImp cài đặt interface StringIns có 1 biến thành viên str kiểu String.
3. Cài đặt tường minh void initStringBase(String s) trong lớp StringImp để khởi tạo biến str bằng s.
4. Cài đặt tường minh void replaceChar(char c1, char c2) trong lớp StringImp để chèn các ký tự c2 vào vị trí của
các ký tự c1 có trong biến str.
5. Cài đặt tường minh int countWord(String s) để đếm số lượng xâu con sinh ra từ xâu s thu được sau khi phân
tách xâu s bởi các kí tự ‘ ’ . , ; (dấu cách trắng, dấu chấm, dấu phẩy, dấu chấm phẩy)
Câu 5 (1đ)
Viết một hàm để trả về số lượng các phần tử là số chính phương (bình phương của một số nguyên khác 0 và 1)
trong một mảng A đầu vào:
public int soptuchinhphuong(int[] A)
{…}
Câu 6 (1đ)
Câu 8 (1 đ)
Sudoku là một trò chơi câu đố sắp xếp chữ số dựa trên logic theo tổ hợp. Mục tiêu của trò chơi là điền các chữ số
vào một lưới 9×9 sao cho mỗi cột, mỗi hàng, và mỗi phần trong số chín lưới con 3×3 cấu tạo nên lưới chính đều
chứa tất cả các chữ số từ 1 tới 9.
Ví dụ:
Viết 1 hàm đầu vào là mảng hai chiều chứa các số nguyên int, để kiểm tra xem mảng này có thỏa mãn là một bảng
Sudoku 9x9 hay không? Nếu đúng trả về true, sai trả về false.
boolean CheckSudokuCondition(int a[][]) {….}