Câu 168 Dòng lệnh sau đây có nghĩa là gì? Frame frame = new Frame(“Example on Frame”); frame.setSize(500,500); a. Tạo Frame với tiêu đề là “Example on Frame” b. Tạo Frame được đặt tại vị trí toạ độ (500,500) của màn hình c. Tạo Frame với tiêu đề là “Example on Frame” và đặt tại vị trí toạ độ (500,500) của màn hình d. Tạo Frame với tiêu đề “Example on Frame” và kích thước là 500x500 (Đ) Câu 169 Cho lớp HangHoa được xây dựng như sau: public class HangHoa{ private String tenHH; private int soLuong; private float donGia; public String getTenHH() { return tenHH; } public void setTenHH(String name) { this.tenHH = name; } public int getSoLuong() { return soLuong; } public void setSoLuong(int sl) { this.soLuong = sl; } public float getDonGia() { return donGia; } public void setDonGia(float dg) { this.donGia = dg; } } Đâu là đoạn mã để tạo đối tượng HangHoa với giá trị lấy từ các điều khiển trên giao diện như hình: a. private void getHangHoa( HangHoa hh ){ hh.setTenHH(txtTenHH.getText()); hh.setSoLuong(Integer.parseInt(txtSoLuong.getText())); hh.setDonGia(Float.parseFloat(txtDonGia.getText())); } b. private HangHoa getHangHoa ( ){ HangHoa hh = new HangHoa(); hh.setTenHH(txtTenHH.getText()); hh.setSoLuong(Integer.parseInt(txtSoLuong.getText())); hh.setDonGia(Float.parseFloat(txtDonGia.getText())); return hh; } (Đ) c. private HangHoa getHangHoa ( ){ HangHoa hh = new HangHoa(); hh.tenHH = txtTenHH.getText(); hh.soLuong = Integer.parseInt(txtSoLuong.getText()); hh.donGia = Float.parseFloat(txtDonGia.getText()); return hh; } d. private HangHoa getHangHoa ( ){ HangHoa hh = new HangHoa(); hh.tenHH = txtTenHH.getText(); hh.soLuong = txtSoLuong.getText(); hh.donGia = txtDonGia.getText(); return hh; } Câu 170 Khi truyền tham số cho applet, nếu không chỉ rõ tham số Name của đối tượng thì đối tượng sẽ có tên mặc định là gì? a. Null b. Applet c. xâu rỗng d. Default (Đ) Câu 171 Applet có được phép ghi lên hệ thống file của client? a. Có b. Không (Đ)
Trang 1ĐÁP ÁN TRẮC NGHIỆM KỸ THUẬT LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG _IT07_4 TÍN CHỈ - SOẠN NGÀY 16.05.2025 - THI TRẮC NGHIỆM
a Kiểm tra (Testing)
Trang 3a drawLine(int, int, int, int);(Đ)
b drawString(int, String, int, int);
c setLayout(Object);
d setVisible(boolean);
Câu 10
Các tính chất cơ bản của phương pháp lập trình hướng đối tượng:
a Mỗi lớp phải có constructor và destructor
b Tính cho phép hàm ảo, hàm thuần ảo và hàm friend
c Tính đóng gói, tính kế thừa và tính đa hình.(Đ)
d Tính public, protected và private
b Khai báo các biến, các chương trình con, hàm main()
c Khai báo thư viện, lớp chương trình chính, các lớp khác(Đ)
d Lớp chương trình chính, các hàm tự do
Trang 4private String Chucvu;
private String Donvi;
b -Thuộc tính: Hoten, Hsl, Chucvu, Donvi, Pc
-Phương thức: tinhLuong( ), tinhPC( )(Đ)
c -Thuộc tính: Mnv, Hoten, Hsl, Chucvu, Donvi, Pc
-Phương thức: tinhLuong( ), tinhPC( )
d -Thuộc tính: Mnv, Hoten, Hsl, Chucvu, Donvi, Pc
Trang 5String s = new String();
Scanner sc = new Scanner(System.in);
a Cho biết số từ có trong chuỗi “Khoa công nghệ thông tin”
b Thực hiện chuyển đổi ký tự đầu mỗi từ thành chữ hoa
c Thực hiện chuyển toàn bộ chuỗi s được nhập từ bàn phím thành chữ hoa
d Thực hiện đếm số từ hiện có trong chuỗi s, với s được nhập từ bàn phím(Đ)Câu 16
Cho biết đoạn mã sau thực hiện yêu cầu xử lý gì?
public class TinhToan {
public static void main(String arg[])
Trang 6Cho biết kết quả của chương trình sau:
public class Test {
static int age;
public static void main (String args []) {
Cho biết kết quả của đoạn mã sau?
public class TinhToan {
public static void main(String arg[])
Trang 7System.out.print("\n Ket qua:” + t); }
Trang 8public static void main(String [] arg)
{Test01 ts = new Test01(10);
ts.hien();
}
Trang 9public static void main(String [] arg)
{Test02 ts = new Test02();
Trang 10add (new Button("First"));
add (new Button("Second"));
add (new Button("Third"));
a Cả ba button được hiển thị
b Chỉ có “First” button được hiển thị
c Chỉ có “Second” button được hiển thị
d Chỉ có “Third” button được hiển thị.(Đ)
Câu 24
Cho biết kết quả khi thực thi đoạn code sau biết giá trị của x là 2: switch (x) {
case 1:
Trang 11a Các giá trị 1,3,4 được xuất ra.
b Các giá trị 3 và 4 được xuất ra.(Đ)
public A(){ x=y=5; }
public int sumA( ){ return x+y; }
Trang 13a Xây dựng HocSinh thoả mãn:
+Thuộc tính: Mã Nhân sự, Năm sinh, Họ Tên, điểm Trung bình
+Phương thức: Nhập Học sinh, Xuất Học sinh
b -Xây dựng lớp HocSinh thoả mãn:
+Thuộc tính: Mã Nhân sự, Năm sinh, Họ Tên, điểm Trung bình
+Phương thức: Nhập nhân sự, Xuất nhân sự, nhập Học sinh, Xuất Học sinh
c -Xây dựng lớp NhanSu thoả mãn:
+Thuộc tính:Mã Nhân sự, Năm sinh, Họ Tên
+Phương thức: Nhập nhân sự, Xuất nhân sự
-Xây dựng lớp HocSinh kế thừa từ lớp NhanSu bổ sung thêm:
+Thuộc tính: điểm Trung bình
+Phương thức: nhập Học sinh, Xuất Học sinh(Đ)
d Xây dựng NhanSu thoả mãn:
+Thuộc tính: Mã Nhân sự, Năm sinh, Họ Tên, điểm Trung bình
+Phương thức: Nhập nhân sự, Xuất nhân sự
Trang 14Câu 27
Cho biết ý nghĩa của đoạn mã sau:
class XE
{
private String MaXe;
protected String TenXe;
}
class XEMAY extends XE
{
private String NuocSX;
private float DonGia;
private int SoLuong;
float tinhTien( ) { return DonGia*SoLuong; }
}
a Xây dựng lớp XEMAY gồm các thành phần sau:
-thuộc tính: Mã xe, Tên xe, nước Sản xuất, Đơn giá, Số lượng
-phương thức: tính Tiền (=Số lượng*Đơn giá)
b Xây dựng lớp XEMAY kế thừa từ lớp XE
c Xây dựng lớp XEMAY kế thừa từ lớp XE, lớp XEMAY bổ sung thêm các thành phần sau:
-thuộc tính: nước Sản xuất, Đơn giá, Số lượng
-phương thức: tính Tiền (=Số lượng*Đơn giá) (Đ)
d Xây dựng lớp XEMAY kế thừa từ lớp XE, lớp XEMAY bổ sung thêm:-thuộc tính: Tên xe, nước Sản xuất, Đơn giá, Số lượng
-phương thức: tính Tiền (=Số lượng*Đơn giá)
Câu 28
Cho class được khai báo như sau:
public class Test {
public static void test() {
Trang 15c Có lỗi vì có hai phương thức print giống nhau.(Đ)
d Có warning vì không có main method
Câu 29
Cho đoạn code sau:
public class Test {
…
}
Lựa chọn nào sau đây có thể dùng để định nghĩa một hàm tạo (constructor) cho lớp trên?
a public static Test() {…}
b public static void Test() {…}
Trang 16Cho khai báo mảng hai chiều a chứa các số nguyên, với h và c là số hàng và
số cột tương ứng của mảng hai chiều như sau:
Trang 17Cho lớp HangHoa được xây dựng như sau:
public class HangHoa{
private String tenHH;
private int soLuong;
private float donGia;
public String getTenHH() {
return tenHH;
}
Trang 18public void setTenHH(String name) {
a private HangHoa getHangHoa ( ){
HangHoa hh = new HangHoa();
b private HangHoa getHangHoa ( ){
HangHoa hh = new HangHoa();
hh.tenHH = txtTenHH.getText();
hh.soLuong = Integer.parseInt(txtSoLuong.getText());
Trang 19hh.donGia = Float.parseFloat(txtDonGia.getText());
return hh;
}
c private HangHoa getHangHoa ( ){
HangHoa hh = new HangHoa();
Trang 20-phương thức: tính tổng lương các nhân viên, nhập danh sách nhân viên từ bàn phím
Trang 24public class Second extends First {
public static void main(String args []) {
new Second();
}
}
Cho biết kết quả biên dịch và thực thi của lớp Second?
a Lỗi khi biên dịch vì lớp First không có constuctor không tham số.(Đ)
b Lỗi khi chạy vì lớp First không có constructor không tham số
c Một thể hiện (instance) của lớp Second được tạo ra
d Xuất ra một chuỗi trên màn hình
Chọn cách sửa ít nhất để đoạn mã sau biên dịch đúng
final class Aaa
{int xxx;
void yyy(){xxx = 1;}
}
class Bbb extends Aaa
{final Aaa finalRef = new Aaa();
final void yyy()
{System.out.println(“In method yyy()”);
finalRef.xxx = 12345;
}
}
Trang 25a Không cần phải chỉnh sửa gì
class Bbb extends Aaa
{final Aaa finalRef = new Aaa();
final void yyy()
{System.out.println(“In method yyy()”);
Chọn khai báo đúng cho phương thức main()?
a public static int main(String[] arg)
b public static void main(String[] args)(Đ)
c public static void maintrứng
d public void main(String[] arg)
Trang 26Chọn phát biểu đúng cho hàm khởi tạo?
a Một lớp sẽ kết thừa các hàm khởi tạo từ lớp cha
b Tất cả các hàm khởi tạo có kiểu trả về là void
c Tất cả các phương án đều sai
d Trình biên dịch sẽ tự động tạo hàm khởi tạo mặc định nếu lớp không định nghĩa hàm khởi tạo.(Đ)
a Các event listeners là các interface qui định các phương thức cần phải cài đặt
để xử lý các sự kiệc liên quan khi sự kiện đó xảy ra
b Lớp WindowAdapter được dùng để xử lý các sự kiện liên quan đến cửa sổ màn hình
Trang 27c Một event adapter là một cung cấp các cài đặt mặc định cho các event listener tương ứng.
d Tất cả các phát biểu đều đúng.(Đ)
Câu 48
Chọn phát biểu đúng:
a Có thể tạo ra các thể hiện (instances) của 1 lớp trừu tượng (abstract)
b implements là từ khoá cho java biết lớp này là lớp trừu tượng
c Nếu có từ khóa final khi định nghĩa lớp, chương trình dịch java biết đây là một lớp hằng, có thể kế thừa
d Từ khóa extends xác định lớp ta đang định nghĩa kế thừa từ lớp nào.(Đ)
a TextArea extends TextField
b TextComponent extends TextArea
c TextComponent extends TextField
d TextField extends TextComponent(Đ)
Trang 28c Tham chiếu của đối tượng có thể được chuyển đổi trong phép gọi phương thức, phép gán và tuân theo những quy tắc giống nhau.(Đ)
d Tham chiếu của đổi tượng có thể được ép kiểu trong phép gọi phương thức nhưng không thể thực hiện trong phép gán
Câu 52
Chọn phát biểu đúng:
a Thể hiện của button có thể phát sinh ActionEvent
b Thể hiện của CheckBoxGroup có thể phát sinh ActionEvent
c Thể hiện của TextArea có thể phát sinh ActionEvent
d Thể hiện của TextField có thể phát sinh ActionEvent (Đ)
c Chỉ kiểu dữ liệu cơ sở mới được chuyển đổi kiểu tự động; để chuyển đổi kiểu
dữ liệu của biến tham chiếu phải sử dụng phép ép kiểu
d Phép ép kiểu đối với dữ liệu số có thể cần phép kiểm tra khi thực thi
Câu 55
Chọn phát biểu đúng?
a Lớp Class là lớp cha của lớp Object
Trang 29b Lớp Object là một lớp final.
c Mọi lớp đề kế thừa trực tiếp hoặc gián tiếp từ lớp Object.(Đ)
Câu 56
Chọn phát biểu sai trong các phát biểu dưới đây:
a Java áp dụng cơ chế bộ nhớ động cho mọi đối tượng trong chương trình
b Java là ngôn ngữ lập trình thuần hướng đối tượng
c Ứng dụng Java chỉ thực thi được trên các máy tính cá nhân.(Đ)
d Ứng dụng Java độc lập với môi trường thực hiện
Câu 57
Chọn phát biểu sai:
a Bên trong phương thức tĩnh ta chỉ có thể truy cập đến các thành viên tĩnh
b Khi khai báo một thuộc tính final thì phải cung cấp giá trị khởi tạo cho nó
c Không thể định nghĩa một thuộc tính vừa là final và static.(Đ)
d Nếu lớp là final thì có nghĩa là sẽ không có lớp kế thừa từ lớp này
Câu 58
Chọn phát biểu sai:
a Không có thuộc tính trừu tượng
b Nếu trong lớp có ít nhất một phương thức trừu tượng thì lớp đó phải là lớp trừu tượng
c Ta không thể tạo đối tượng của lớp trừu tượng
d Ta không thể xây dựng lớp thừa kế từ một lớp trừu tượng.(Đ)
Trang 30Cơ chế phương thức ảo phải được kết hợp với kỹ thuật nào trong kế thừa?
a Kỹ thuật ghi đè phương thức (overriding method) (Đ)
b Kỹ thuật nạp chồng phương thức (overloading method)
c Kỹ thuật xử lý đa luồng (multiThreading)
d Kỹ thuật xử lý giao diện đồ họa (Graphics)
Trang 31Đâu là cấu trúc vòng đời của một chương trình applet cơ bản?
a Creation - Initialization - Starting - Stop - Destroy(Đ)
b Creation - Starting - Initialization - Stop - Destroy
c Initialization - Creation - Starting - Stop - Destroy
d Initialization - Starting - Creation - Stop - Destroy
Câu 67
Đâu là đoạn chương trình để vẽ được đồ thị như hình minh hoạ
a public class DoThi extends Applet {
public void paint(Graphics g) {
Trang 34Đâu là đoạn mã để tạo các Checkbox như hình minh hoạ:
a Checkbox radio1 = new Checkbox(“Red”, g, false);
Checkbox radio2 = new Checkbox(“Green”,g, false);
Checkbox radio3 = new Checkbox(“Blue”,g,false);
b CheckboxGroup g = new CheckboxGroup( );
Checkbox radio1 = new Checkbox(“Red”,g,false);
Checkbox radio2 = new Checkbox(“Green”,g,false);
Checkbox radio3 = new Checkbox(“Blue”,g,false);(Đ)
c CheckboxGroup g = new CheckboxGroup( );
Checkbox rd1 = new Checkbox(“Red”,g,true);
Checkbox rd2 = new Checkbox(“Green”,g, false);
Checkbox rd3 = new Checkbox(“Blue”,g,false);
d CheckboxGroup g = new CheckboxGroup();
Checkbox radio1 = new Checkbox(“Red”,g,false);
Checkbox radio2 = new Checkbox(“Green”,g, true);
Checkbox radio3 = new Checkbox(“Blue”,g, false);
Câu 69
Đâu là đoạn mã để tạo giao diện như hình minh hoạ:
a checkBold = new Checkbox("Bold");
checkBold.setState(false);
checkItalic = new Checkbox("Italic");
checkItalic.setState(true);
txtText = new
Trang 36Đâu là đoạn mã để tạo hình tròn như hình minh hoạ
a class MyFrame extends Frame
Trang 37Đâu là đoạn mã để tính tổng các phần tử lẻ trong mảng a gồm n phần tử?
a public class TinhToan {
public static void main(String arg[])
b public class TinhToan {
public static void main(String arg[])
{
Trang 38c public class TinhToan {
public static void main(String arg[]){
d public class TinhToan {
public static void main(String arg[]){
Trang 41Đâu là đoạn mã xây dựng lớp GiaoVien theo sơ đồ sau:
a class GiaoVien extend NhanSu
Trang 44int dientich( ) { return x * y; }
int chuvi( ) { return (x+y)*2; }
int dientich( ) { return x * y; }
int chuvi( ) { return (x+y)*2; }
}
d public class HCN {
int x, y;
int dientich( ) { return x * y; }
int chuvi( ) { return (x+y)*2; }
}
Trang 45Câu 75
Đâu là đoạn mã xây dựng lớp HocSinh theo sơ đồ sau:
a class HocSinh extend NhanSu
Trang 46super.xuatNS();
System.out.printf(“%7.1f”, diemTB);}
Trang 48Để thêm lần lượt 03 mục cho List như hình minh hoạ thì đoạn mã là gì?
a colorList = new List(3, false); colorList.add("Black");
Trang 49c colorList = new List(3, false);
Đoạn mã để xây dựng lớp GIAOVIEN theo sơ đồ:
a public class GIAOVIEN extends NHANSU
{
private float luongThang;
public void nhap()
Trang 50private float luongThang;
public void nhap()
Trang 51d public class GIAOVIEN
{
private String hoTen;
private String queQuan;
private int namSinh;
private float luongThang;
public void nhap()
System.out.print("\n Ho ten:" + hoTen);
System.out.print("\n Que quan:" + queQuan);
System.out.print("\n Nam Sinh:" + namSinh);
Trang 52a public class HOCSINH extends NHANSU
Trang 53private String hoTen;
private String queQuan;
private int namSinh;
Trang 54dTB = sc.nextFloat();
}
public void xuat()
{
System.out.print("\n Ho ten:" + hoTen);
System.out.print("\n Que quan:" + queQuan);
System.out.print("\n Nam Sinh:" + namSinh);
System.out.print("\n DTB:"+dTB);
}
}
Câu 80
Đoạn mã để xây dựng lớp HOCSINH theo sơ đồ:
a public class HOCSINH extends NHANSU
Trang 56d public class HOCSINH
{
private String hoTen;
private String queQuan;
private int namSinh;
Trang 57public class XuLyFile{
public void docFile(File f, ListArray<SV> lstSV)
throws FileNotFoundException, IOException, ClassNotFoundException {
FileInputStream fin = new FileInputStream(f);
ObjectInputStream in = new ObjectInputStream(fin);
lstSV = (ArrayList)in.readObject();
in.close();
}
}
a Thực hiện đọc danh sách sinh viên từ file vào lưu lại vào ArrayList lstSV(Đ)
b Thực hiện đọc thông tin của SV từ file vào đối tượng lstSV
c Thực hiện lưu danh sách sinh viên (SV) với các SV được lưu trong ArrayList (lstSV) vào file
d Thực hiện lưu thông tin của SV lstSV vào file
Câu 82
Đoạn mã sau đây thực hiện yêu cầu gì?
Random rd = new Random();
for(i=0;i<h;i++)
for(j=0;j<c;j++)
a[i][j] = rd.nextInt(100);
a Nhập các phần tử nguyên cho mảng hai chiều a gồm h hàng và c cột
b Nhập các phần tử nguyên ngẫu nhiên cho mảng hai chiều a
c Tạo các số nguyên ngẫu nhiên trong phạm vi từ 0 đến 99 và được lưu vào mảng hai chiều a, với mảng a gồm h hàng và c cột(Đ)
d Tạo mảng các số nguyên ngẫu nhiên cho mảng a gồm h hàng và c cột
Câu 83
Đoạn mã sau thực hiện nhiệm vụ gì?
public class HCN {
Trang 58int dientichtrứng { return x * y; }
public static void main(String arg[])
a Xây dựng lớp HCN có hai thuộc tính x, y Lớp HCN có phương thức khởi tạo
có tham số và phương thức tính chu vi hình chữ nhật = (x+y)*2) Áp dụng tạo raHCN với giá trị hai thuộc tính lần lượt là 4 và 5 In ra màn hình chu vi của HCN
là 18
b Xây dựng lớp HCN có hai thuộc tính x, y Lớp HCN có phương thức khởi tạo
có tham số và phương thức tính diện tích hình chữ nhật (= x* y) Áp dụng tạo ra HCN với giá trị hai thuộc tính lần lượt là 4 và 5 In ra màn hình diện tích của HCN là 20(Đ)
c Xây dựng lớp HCN có hai thuộc tính x, y Lớp HCN phương thức tính diện tích hình chữ nhật (= x* y) Áp dụng tạo ra HCN với giá trị hai thuộc tính lần lượt là 4 và 5 In ra màn hình diện tích của HCN là 20
d Xây dựng lớp HCN Áp dụng tạo ra HCN với giá trị hai thuộc tính lần lượt là
Trang 59float tinhluongtrứng { return hsl * 1500000; }
float tinhluong( float pc) { return (hsl+pc) * 1500000; }
public static void main(String arg[])
{
NV x = new NV( );
System.out.print(“1 Ket qua:” + x.tinhluongtrứng);
System.out.print(“2 Ket qua:” + x.tinhluong( 1 ));
Đoạn mã sau thực hiện yêu cầu gì:
Scanner sc = new Scanner(System.in);
Trang 60a Thực hiện in họ tên và tuổi lên màn hình
b Thực hiện nhập Họ tên và tuổi từ bàn phím
c Thực hiện nhập Họ tên và tuối, với họ tên là một chuỗi ký tự và tuổi là một sốnguyên(Đ)
d Thực hiện nhập vào một chuỗi ký tự và một số nguyên từ bàn phím
Câu 86
Dòng lệnh nào sau đây tạo ra một TextField có thể hiển thị tối đa 10 ký tự, giá trị khởi đầu là “hello”?
a TextField tf1 = new TextField(“hello”,10);(Đ)
b TextField tf1 = new TextFiled(“hello”);
c textField tf1 = new textFiled(“hello”,10);
d TextField tf1 = new TextFiled(10);
Câu 87
Dòng lệnh sau đây có nghĩa là gì?
Frame frame = new Frame(“Example on Frame”);
frame.setSize(500,500);
a Tạo Frame được đặt tại vị trí toạ độ (500,500) của màn hình
b Tạo Frame với tiêu đề “Example on Frame” và kích thước là 500x500(Đ)
c Tạo Frame với tiêu đề là “Example on Frame” và đặt tại vị trí toạ độ