Bài Tập Java





Danh sách bài tập JavaCore

Đề 1:



  1. Xây dựng lớp phân số với hai thuộc tính riêng xác định tử số và mẫu số của phân số và xây dựng các phương thức:
   - Các toán tử tạo lập (constructor) trường hợp không có tham số và trường hợp có 2 tham số tử số và mẫu số
  - Các phép toán cộng, trừ, nhân, chia các phân số
  - Phép kiểm tra một phân số có phải tối giản hay không
  - Phép tìm dạng tối giản của phân số
 2. Viết chương trình ứng dụng kiểm tra hoạt động của các phương thức
Gợi ý: Tử số và mẫu số có thể chọn là kiểu nguyên. Phân số a/b có thể đưa về dạng tối giản bằng cách chia cả tử số và mẫu số cho ước chung lớn nhất của (a,b). Cần có thêm một phương thức tìm ước chung lớn nhất của 2 số (sử dụng thuật toán ocolit)

Đề 2:


 Một đơn vị sản xuất gồm có các cán bộ là công nhân, kỹ sư, nhân viên.
  + Mỗi cán bộ cần quản lý lý các thuộc tính: Họ tên, ngày sinh, giới tính, địa chỉ
  + Các công nhân cần quản lý: Bậc (công nhân bậc 3/7, bậc 4/7 ...)
  + Các kỹ sư cần quản lý: Ngành đào tạo
  + Các nhân viên phục vụ cần quản lý thông tin: công việc
 1. Xây dựng các lớp NhanVien, CongNhan, KySu kế thừa từ lớp CanBo
 2. Xây dựng các hàm để truy nhập (get), thay đổi (set) và hiển thị thông tin về các thuộc tính của các lớp.
 3. Xây dựng lớp QLCB cài đặt các phương thức thực hiện các chức năng sau:
  - Nhập thông tin mới cho cán bộ
  - Tìm kiếm theo họ tên
  - Hiển thị thông tin cán bộ tìm được
Gợi ý: Thuộc tính bậc công nhân có thể để kiểu String.
Xây dựng constructor cho các lớp, trong đó constructor của các lớp con gọi lại constructor từ lớp cha để tránh việc lặp lại code
Phương thức hiển thị thông tin của các lớp con cần ghi đè phương thức của lớp cha (cùng tên phương
thức + gọi lại phương thức lớp cha để lấy thông tin chung về cán bộ)
Lớp QLCB cần có một mảng chứa các phần tử có kiểu CanBo, nhập thông tin mới cho các cán bộ cụ thể (Nhân Viên, Công Nhân, Kỹ Sư) và đưa vào mảng sau đó tìm kiếm, hiển thị thông tin của cán bộ tìm được. Chú ý tính đa hình khi xử lý mảng.

Đề 3:

 Một thư viện cần quản lý các tài liệu bao gồm, Sách, Tạp chí, Báo
  + Mỗi tài liệu có các thuộc tính: Mã tài liệu, Tên nhà xuất bản, Số bản phát hành.
  + Các loại sách cần quản lý: Tên tác giả, số trang
  + Các tạp chí cần quản lý: Số phát hành, tháng phát hành
  + Các báo cần quản lý: ngày phát hành.
 1. Xây dựng các lớp để quản lý các loại tài liệu trên sao cho việc sử dụng lại được nhiều nhất
 2. Xây dựng lớp QuanLySach cài đặt các phương thức thực hiện các công việc sau:
  - Nhập thông tin về các tài liệu
  - Tìm kiếm tài liệu theo loại (sách, báo, tạp chí) hoặc theo mã tài liệu
  - Hiển thị thông tin tài liệu tìm kiếm được


Đề 4:


 Các thí sinh dự thi đại học bao gồm các thí sinh thi khối A, thí sinh thi khối B, thí sinh thi khối C
  + Các thí sinh cần quản lý các thuộc tính: Số báo danh, họ tên, địa chỉ, diện ưu tiên khu vực.
  + Thí sinh thi khối A thi các môn: Toán, lý, hoá
  + Thí sinh thi khối B thi các môn: Toán, Hoá, Sinh
  + Thí sinh thi khối C thi các môn: Văn, Sử, Địa
 1. Xây dựng các lớp để quản lý các thí sinh sao cho sử dụng lại được nhiều nhất.
 2. Xây dựng lớp TuyenSinh cài đặt các phương thức thực hiện các nhiệm vụ sau:
  - Nhập thông tin về các thí sinh dự thi
  - Hiển thị thông tin về một thí sinh
  - Tìm kiếm theo số báo danh


Đề 5:


 Để quản lý các hộ dân trong một khu phố, người ta quản lý các thông tin như sau:
  - Với mỗi hộ dân, có các thuộc tính:
   + Số thành viên trong hộ ( số người)
   + Số nhà của hộ dân đó. ( Số nhà được gắn cho mỗi hộ dân)
   + Thông tin về mỗi cá nhân trong hộ gia đình.
 - Với mỗi cá nhân, người ta quản lý các thông tin như: họ và tên, ngày sinh, nghề nghiệp.
 1. Hãy xây dựng lớp Nguoi để quản lý thông tin về mỗi cá nhân.
 2. Xây dựng lớp KhuPho để quản lý thông tin về các hộ gia đình.
 3. Viết các phương thức nhập, hiển thị thông tin cho mỗi cá nhân.
 4. Cài đặt chương trình thực hiện các công việc sau:
  - Nhập vào một dãy gồm n hộ dân (n - nhập từ bàn phím).
  - Hiển thị ra màn hình thông tin về các hộ trong khu phố năm nay có người mừng thượng thọ (80tuổi)

Gợi ý: Xây dựng lớp Nguoi trước, lớp HoDan sau, trong lớp HoDan có một mảng chứa các thành viên trong hộ gia đình. Khi test chương trình, cần tạo lập các thành viên trong mỗi hộ gia đình trước, thêm vào mảng tương ứng với hộ gia đình.

Đề 6:


 Để quản lý khách hàng đến thuê phòng trọ của một khách sạn, người ta cần quản lý những thông tin sau:
  - Số ngày trọ, loại phòng trọ, giá phòng, và các thông tin cá nhân về mỗi khách trọ.
  - Với mỗi cá nhân, người ta cần quản lý các thông tin : Họ và tên, ngày sinh, số chứng minh thư nhân dân.
 1. Hãy xây dựng lớp Nguoi để quản lý thông tin cá nhân về mỗi cá nhân
 2. Xây dựng lớp KhachSan để quản lý các thông tin về khách trọ.
 3. Viết các phương thức : nhập, hiển thị, xóa các thông tin về một khách trọ,
 4. Cài đặt chương trình thực hiện các công việc sau:
  - Nhập vào một dãy gồm n khách trọ ( n - nhập từ bàn phím)
  - Hiển thị ra màn hình thông tin về các cá nhân hiện đang trọ ở khách sạn đó.
  - Tính số tiền cần phải trả nếu một khách hàng trả phòng trọ (căn cứ vào số CMND để tìm kiếm trong mảng)


Đề 7:


 Để quản lý hồ sơ học sinh của trường THPT, người ta cần quản lý những thông tin như sau:
  - Các thông tin về : lớp, khoá học, kỳ học, và các thông tin cá nhân của mỗi học sinh.
  - Với mỗi học sinh, các thông tin cá nhân cần quản lý gồm có: Họ và tên, ngày sinh, quê quán.
 1. Hãy xây dựng lớp Nguoi để quản lý các thông tin cá nhân của mỗi học sinh.
 2. Xây dựng lớp HSHocSinh (hồ sơ học sinh) để lý các thông tin về mỗi học sinh.
 3. Xây dựng các phương thức : nhập, hiển thị các thông tin về mỗi cá nhân.
 4. Cài đặt chương trình thực hiện các công việc sau:
  - Nhập vào một danh sách gồm n học sinh ( n- nhập từ bàn phím)
  - Hiển thị ra màn hình tất cả những học sinh sinh năm 1985 và quê ở Thái Nguyên
  - Hiển thị ra màn hình tất cả những học sinh của lớp 10A1

Gợi ý: Thuộc tính ngày sinh để kiểu Date bao gồm ngày, tháng, năm

Đề 8:


 Khoa CNTT-DHTN cần quản lý việc thanh toán tiền lương cho các cán bộ giáo viên trong khoa. Để quản lý được, thì nhà quản lý cần có những thông tin như sau:
  - Với mỗi cán bộ giáo viên, có các thông tin như sau: lương cứng, thướng, phạt, lương thực lĩnh và các thông tin cá nhân của mỗi cán bộ giáo viên
  - Các thông tin cá nhân của mỗi cán bộ giáo viên: Họ và tên, ngày sinh, quê quán.
 1. Hãy xây dựng lớp Nguoi để quản lý các thông tin cá nhân về mỗi cán bộ giáo viên
 2. Xây dựng lớp CBGV ( cán bộ giáo viên) để quản lý các thông tin về mỗi cán bộ giáo viên
 3. Xây dựng các phương thức : nhập, hiển thị các thông tin cá nhân của mỗi cán bộ giáo viên
 4. Tính lương thực lĩnh cho mỗi cán bộ nếu công thức tính lương được tính như sau:
                  Lương thực lĩnh=Lương cứng + thưởng - phạt
 5. In ra danh sách những cán bộ có lương thực lĩnh >= 8 triệu


Đề 9:


 Thư viện của trường đại học KHTN có nhu cầu cần quản lý việc mượn sách. Sinh viên đăng ký và tham gia mượn sách thông qua các thẻ mượn mà thư viện đã thiết kế.
  - Với mỗi thẻ mượn, có các thông tin sau: số phiếu mượn , ngày mượn, hạn trả , số hiệu sách, và các

thông tin riêng về mỗi sinh viên đó.
  - Các thông tin riêng về mỗi sinh viên đó bao gồm: Họ tên, MSV, ngày sinh, lớp.
 1. Hãy xây dựng lớp SinhVien để quản lý các thông tin riêng về mỗi sinh viên.
 2. Xây dựng lớp TheMuon để quản lý việc mượn sách của mỗi đọc giả.
 3. Xây dựng các phương thức để nhập và hiện thị các thông tin riêng cho mỗi sinh viên
 4. In ra danh sách sinh viên, tên sách mượn cần trả vào ngày cuối tháng


Đề 10:


 Để quản lý các biên lai thu tiền điện, người ta cần các thông tin như sau:
  - Với mỗi biên lai, có các thông tin sau: thông tin về hộ sử dụng điện, chỉ số cũ, chỉ số mới, số tiền phải trả của mỗi hộ sử dụng điện
  - Các thông tin riêng của mỗi hộ sử dụng điện gồm: Họ tên chủ hộ, số nhà, mã số công tơ của hộ dân sử dụng điện.
 1. Hãy xây dựng lớp KhachHang để lưu trữ các thông tin riêng của mỗi hộ sử dụng điện.
 2. Xây dựng lớp BienLai để quản lý việc sử dụng và thanh toán tiền điện của các hộ dân.
 3. Xây dựng các phương thức nhập, và hiển thị một thông tin riêng của mỗI hộ sử dụng điện.
 4. Cài đặt chương trình thực hiện các công việc sau:
  + Nhập vào các thông tin cho n hộ sử dụng điện
  + Hiển thị thông tin về các biên lai đã nhập
  + Tính tiền điện phải trả cho mỗi hộ dân, nếu giả sử rằng tiền phải trả được tính theo công thức sau:
số tiền phải trả=(Số mới - số cũ) * 750.


Đề 11:


 Để xử lý văn bản người ta xây dựng lớp văn bản có thuộc tính riêng là một xâu ký tự. Hãy:
 1. Xây dựng các toán tử tạo lập: VanBan(), VanBan(String noidung)
 2. Xây dựng phương thức đếm số từ của một xâu.
 3. Xây dựng phương thức đếm số ký tự H (không phân biệt chữ thường, chữ hoa) của xâu.
 4. Chuẩn hoá một xâu theo tiêu chuẩn (Ở đầu và cuối của xâu không có ký tự trống, ở giữa xâu không có hai ký tự trắng liền nhau).

Gợi ý: Tham chiếu các phương thức của class String

Đề 12:


 Xây dựng lớp Ma Trận có các thuộc tính riêng sau:
  - Số dòng, số cột của ma trận.
  - 1 mảng 2 chiều để lưu trữ các phần tử của ma trận.
 Hãy:
  - Hãy xây dựng toán tử tạo lập: MaTran(), MaTran(int n,int m)
  - Xây dựng phưong thức nhập vào ma trận rồi hiện thị ra màn hình (hiển thị đúng định dạng ma trận)
  - Xây dựng phương thức tính tổng hiệu tích của 2 ma trận
  - Cài đặt chương trình: Nhập vào 2 ma trận A,B sau đó tính tổng: C=A+B và hiển thị ra màn hình.


Đề 13:


 Một công ty được giao nhiệm vụ quản lý các phương tiện giao thông gồm các loại: ô tô, xe máy, xe tải.
  + mỗi loại phương tiện giao thông cần quản lý: Hãng sản xuất, năm sản xuất, giá bán và màu.

  + Các ô tô cần quản lý: số chỗ ngồi, kiểu động cơ
  + Xe máy cần quản lý: công suất
  + Xe tải cần quản lý: trọng tải.
 2. Xây dựng các lớp XeTai, XeMay, OTo kế thừa từ lớp PTGT.
 3. Xây dựng các hàm để truy nhập (get), thay đổi (set) và hiển thị các thuộc tính của các lớp.
 4. Xây dựng lớp QLPTGT cài đặt các phương thức thực hiện các chức năng sau:
  - Nhập đăng ký phương tiện
  - Tìm phương tiện theo màu hoặc năm sản xuất


Đề 14:


 1. Hãy xây dựng lớp DaGiac gồm có các thuộc tính

  - Số cạnh của đa giác
  - Mảng các số nguyên chứa kích thước các cạnh của đa giác
 Các phương thức:
  - Tính chu vi
  - In giá trị các cạnh của đa giác.
 2. Xây dựng lớp TamGiac kế thừa từ lớp DaGiac, trong đó viết đè các hàm tính chu vi và xây dựng thêm phương thức kiểm tra tính hợp lệ 3 cạnh của tam giác, tính diện tích tam giác
 3. Xây dựng một ứng dụng Java để nhập vào một dãy gồm n tam giác rồi in ra màn hình các cạnh của các tam giác có diện tích lớn nhất.

Gợi ý: 3 cạnh tam giác là hợp lệ nếu tổng hai cạnh bất kỳ lớn hơn cạnh còn lại. Diện tích tam giác tính theo công thức heron .

Đề 15:


 Mỗi một điểm trong mặt phẳng được xác đinh duy nhất bởi hai giá trị là hoành độ và tung độ.
 1. Hãy xây dựng lớp Diem cùng với chứa các đốI tượng diểm trong mặt phẳng và xây dựng phương thức sau:
  - Toán tử tạo lập
  - Phương thức in một đốI tượng Diem (in ra hoành độ, tung độ)
  - Tính khoảng cách giữa hai điểm
 2. Mỗi tam giác trong mặt phẳng được xác định bởi 3 điểm. Hãy xây dựng lớp TamGiac với 3 thuộc tính riêng là 3 đối tượng thuộc lớp Diem và các phương thức:
  - Xây dựng các toản tử tạo lập:
    TamGiac();
    TamGiac(Diem d1, Diem d2, Diem d3);
 - Tính diện tích tam giác
 - Tính chu vi của tam giác

Gợi ý: Khoảng cách giữa 2 điểm A(x1, y1), B(x2,y2) tính theo công thức: d= sqrt((x1-x2)^2 + (y1-y2)^2)

Đề 16:


 Mỗi một điểm trong mặt phẳng được xác đinh duy nhất bởi hai giá trị là hoành độ và tung độ.
1 Hãy xây dựng lớp Diem cùng với chứa các đốI tượng diểm trong mặt phẳng và xây dựng phương thức sau:
  - Toán tử tạo lập

  - Phương thức in một đốI tượng thuọc lớp Diem
  - Tính khoảng cách giữa hai điểm
 2 Xây dựng lớp HinhTron chứa các đối tượng là các hình tròn với 2 thuộc tính là 1 đối tượng thuộc lớp Diem để xác định tâm của hình tròn một giá trị nguyên để xác định bán kinh của hình tròn. cài đặt các phương thức:
  - Xây dựng các toán tử tạo lập: HinhTron(),
  - HinhTron(Diem d, int bk)
  - HinhTron(int bk , Diem d)
  - Tính chu vi, diện tich hình tròn


Đề 17:


 Class Course (khóa học) dưới đây dùng mảng để quản lý danh sách sinh viên. Hãy viết lại class này sử dụng ArrayList thay thế cho mảng (ArrayList là một lớp được thiết kế sẵn trong Java cho phép lưu trữ danh sách. Tham khảo ví dụ tại: http://www.java2novice.com/java-collections-and util/arraylist/basic-operations/)

Listing 7.11. 
Course.java1 public class Course {
2
private String name;
3
private String[] students = new String[100]
4
private int numberOfStudents;
5
6
public Course(String name) {
7
this.name = name;
8 }
9
10
public void addStudent(String student) {
11 students[numberOfStudents] = student;
12 numberOfStudents++;
13 }
14
15
public String[] getStudents() {
16
return students;
17 }
18
19
public int getNumberOfStudents() {
20
return numberOfStudents;
21 }
22
23
public String getName() {
24
return name;
25 }
26 }


Đề 18:


 Xây dựng lớp hình chữ nhật (HCN) với các thuộc tính chiều dài, chiều rộng, các phương thức set, get, các phương thức tính chu vi, diện tích.
 Thực hiện ghi đè phương thức equal trong lớp cha Object để so sánh 2 hình chữ nhật tương đương (2 HCN tương đương là 2 HCN có cùng diện tích).
 Thiết kế để lớp HCN này thực thi giao diện Comparable, thực hiện cài đặt cho phương thức compareTo để so sánh 2 hình chữ nhật dựa vào diện tích của chúng.
 Viết chương trình test các phương thức với 2 hình chữ nhật
 . 






Cảm Ơn Bạn Đã Đọc...!!!


suckhoeaz nói...

có bác nào làm được đề số 11 không ? :(


lúc 21:58 9 tháng 6, 2017
Mai Xuân Quý nói...

https://laptrinhcanban123.blogspot.com/2017/06/ap-e-11-xu-li-van-ban.html
đây bạn nhé


lúc 23:08 9 tháng 6, 2017
suckhoeaz nói...

Thanks bạn nhiều.


lúc 07:26 13 tháng 6, 2017
Mai Xuân Quý nói...

KHông có gì đâu bạn


lúc 04:17 14 tháng 6, 2017
Unknown nói...

Có bài giải đề số 4
ko bạn


lúc 12:31 13 tháng 9, 2017
Unknown nói...

Có bài giải đề số 4
ko bạn


lúc 12:38 13 tháng 9, 2017
Mai Xuân Quý nói...

Đề số 4 bạn nhé
https://laptrinhcanban123.blogspot.com/2017/09/ap-e-4-tuyen-sinh.html


lúc 09:23 19 tháng 9, 2017
Unknown nói...

Cho mình xin đề giải bài 12 vớii


lúc 17:22 19 tháng 12, 2017
Unknown nói...
Nhận xét này đã bị tác giả xóa.
Unknown nói...

Cho mình xin đáp án đề số 2 với ạ
http://phutunggapinter.com/vi/news/Tin-cong-nghe/Gioi-thieu-ve-dau-nhot-Idemitsu-41/


lúc 20:26 21 tháng 6, 2018
hai nói...

cos ko cho minh xin de so 3


lúc 05:32 17 tháng 1, 2019
Mai Xuân Quý nói...

https://laptrinhcanban123.blogspot.com/2016/11/ap-e-3-quan-ly-tai-lieu.html


lúc 09:57 17 tháng 1, 2019
khánh nói...

cho mình xin đề 7 với ạ


lúc 07:53 3 tháng 12, 2019
Mai Xuân Quý nói...

https://laptrinhcanban123.blogspot.com/2016/11/ap-e-7-quan-ly-ho-so-hoc-sinh-truong.html


lúc 16:48 3 tháng 12, 2019
Nặc danh nói...

có ai có đáp án đề 15 k ạ


lúc 18:21 16 tháng 4, 2023

Đăng nhận xét

Cảm Ơn Bạn Đã Để Lại Bình Luận

 

Quản Trị Viên

Lượt xem

Lên Trên