Java: Bài tập phần Thừa kế & Đa hình

Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực

Bài tập 1: HỆ THỐNG QUẢN LÝ NHÂN SỰ

Câu 1:

Tạo lớp Person chứa các thông tin sau:

  - Tên

  - Giới tính

  - Ngày sinh

  - Địa chỉ

1. Lớp Person bao gồm đầy đủ các phương thức getter, setter, constructor không tham số, constructor đầy đủ tham số.

2. Viết phương thức inputInfo() để nhập thông tin Person từ bàn phím.

3. Viết phương thức showInfo() để hiển thị tất cả thông tin Person.

Câu 2:

Tạo lớp Student thừa kế lớp Person, lưu trữ các thông tin sinh viên:

  - Mã sinh viên: chứa 8 kí tự

  - Điểm trung bình: từ 0.0 – 10.0

  - Email: phải chứa kí tự @ và không tồn tại khoảng trắng

1. Override phương thức inputInfo(), nhập thông tin Student từ bàn phím.

2. Override phương thức showInfo(), hiển thị tất cả thông tin Student.

3. Viết phương thức xét xem Student có được học bổng không? Điểm trung bình trên 8.0 là được học bổng.

Câu 3:

Tạo lớp StudentTest chứa phương thức main() và thực thi các công việc sau:

Tạo Menu chọn với yêu cầu cụ thể như sau:

  a. Chọn 1: Nhập vào N sinh viên (N là số lượng sinh viên, được nhập từ bàn phím)

  b. Chọn 2: Hiển thị thông tin tất cả các sinh viên ra màn hình

  c. Chọn 3: Hiển thị sinh viên có điểm trung bình cao nhất và sinh viên có điểm trung bình thấp nhất

  d. Chọn 4: Tìm kiếm sinh viên theo mã sinh viên. Nhập vào mã sinh viên, nếu tồn tại sinh viên có mã đó thì in ra màn hình thông tin sinh viên; nếu không tồn tại thì in ra: Không có sinh viên nào có mã là <giá trị của mã sinh viên>

  e. Chọn 5: Hiển thị tất cả các sinh viên theo thứ tự tên trong bảng chữ cái (A → Z)

  f. Chọn 6: Hiển thị tất cả các sinh viên được học bổng, và sắp xếp theo thứ tự điểm cao xuống thấp

  g. Chọn 7: Thoát

Câu 4:

Tạo lớp Teacher kế thừa lớp Person, lưu trữ thông tin giảng viên:

  - Lớp dạy (phải bắt đầu bằng 1 trong các chữ: G, H, I, K, L, M)

  - Lương một giờ dạy

  - Số giờ dạy trong tháng

1. Override phương thức inputInfo(), nhập thông tin Teacher từ bàn phím

2. Override phương thức showInfo(), hiển thị tất cả thông tin Teacher

3. Viết phương thức tính lương thực nhận, trả về lương thực nhận theo công thức:

  Nếu lớp dạy là lớp buổi sáng và chiều (Giờ G, H, I, K) thì:

    Lương thực nhận = lương một giờ dạy * số giờ dạy trong tháng;

  Nếu lớp dạy là lớp buổi tối (giờ L, giờ M) thì:

    Lương thực nhân = lương một giờ dạy * số giờ dạy trong tháng + 200000đ;

Câu 5:

Tạo lớp TeacherTest chứa phương thức main() và thực thi các công việc sau:

Tạo Menu lựa chọn với các yêu cầu cụ thể như sau:

  a. Chọn 1: Nhập vào N giảng viên (N là số lượng giảng viên, được nhập từ bàn phím)

  b. Chọn 2: Hiển thị thông tin tất cả các giảng viên ra màn hình

  c. Chọn 3: Hiển thị giảng viên có số giờ dạy trong tháng cao nhất

  d. Chọn 4: Hiển thị giảng viên có lương thực nhận cao nhất

  e. Chọn 5: Thoát

Bài tập 2: HỆ THỐNG QUẢN LÝ SỞ THÚ

1. Tạo lớp có tên Animal gồm các thuộc tính và phương thức:

· String ten

· int tuoi

· ​String moTa

· abstract void xemThongTin() // hiển thị loại, tên, tuổi và mô tả của động vật

· abstract void tiengKeu() // hiển thị tiếng kêu của động vật

2. Tạo một số hàm tạo cho lớp Animal như sau:

· 0 tham số

· 1 tham số (ten),

· 2 tham số (ten, tuoi),

· 3 tham số (ten, tuoi, moTa).

3. Tạo các lớp Tiger, Dog, Cat theo các yêu cầu sau:

  • Thừa kế từ lớp Animal
  • Ghi đè phương thức tiengKeu() để thể hiện những tiếng kêu đặc trưng của từng loài vật
  • Thực thi các hàm tạo sử dụng từ khóa super

4. Tạo lớp có tên Chuong gồm:

· int maChuong

· ​ArrayList AnimalList

· void themConVat(Animal a) //thêm một con vật vào AnimalList

· void xoaConVat(String ten) //xóa con vật có tên tương ứng khỏi AnimalList

5. Tạo lớp có tên Zoo gồm:

· ArrayList DanhSachChuong

· void themChuong(Chuong c) //thêm chuồng vào DanhSachChuong

· void xoaChuong(int machuong) //xóa chuồng có mã tương ứng khỏi DanhSachChuong

6. Tạo lớp có tên TestZoo chứa phương thức main() để quản lý sở thú theo dạng Menu như sau:

  1. Thêm chuồng
  2. Xóa chuồng
  3. Thêm con vật
  4. Xóa con vật
  5. Xem tất cả các con vật
  6. Thoát

7. Khi người dùng chọn 3 thì yêu cầu người dùng nhập vào loại con vật muốn thêm (Tiger, Dog, Cat) rồi nhập các thông tin của con vật và thêm vào AnimaList.

8. Khi người dùng chọn 5 thì hiển thị thông tin cùng tiếng kêu của từng con vật trong sở thú.

Bài tập 3: HỆ THỐNG QUẢN LÝ THƯ VIỆN

Ở một thư viện, người ta quản lý sách thông qua phần mềm.

Sách được đặt trên từng kệ sách (mỗi kệ sách bao gồm nhiều cuốn sách). Mỗi kệ sách có 1 số thứ tự riêng.

Các kệ sách được phân ra theo đầu mục sách như: Công nghệ thông tin, truyện ngắn, sách giáo khoa, tiểu thuyết...

Mỗi quyển sách lại được đánh một mã khác nhau.

Trên phần mềm có lưu trữ thêm thông tin về tác giả, năm xuất bản, giá tiền của sách.

Để tiện cho việc quản lý. Mỗi khi có một cuốn sách mới, người thủ thư sẽ đưa cuốn sách lên kệ theo đúng đầu mục, ngoài ra, thủ thư sẽ đặt cuốn sách sao cho trong 1 kệ, các cuốn sách xếp theo vần alphabet (sắp xếp từ A → Z).

Một đặc trưng nữa của phần mềm, đấy là có thể lấy ra cuốn sách có giá cao nhất và cuốn sách có giá thấp nhất theo từng kệ sách, chỉ cần nhập vào số thứ tự kệ sách.

Để tìm kiếm đúng cuốn sách cần thiết, người dùng chỉ cần nhập vào mã sách là phần mềm sẽ trả về thông tin cuốn sách tương ứng.

Hãy viết phần mềm quản lý thư viện theo mô tả như trên.

» Tiếp: Bài tập phần Abstract Class & Interface
« Trước: Bài tập phần Class
Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực
Copied !!!