Java - Viết Chương Trình Quản Lý Sách Trong Thư Viện. - Freetuts
Có thể bạn quan tâm
Thư viện X quản lý danh sách các loại sách. Thông tin về các loại sách:
- Sách giáo khoa: Mã sách, đơn giá, số lượng, nhà xuất bản, tình trạng (mới, cũ). Nếu tình trạng sách là mới thì thành tiền = số lượng * đơn giá. Nếu tình trạng sách là cũ thì thành tiền = số lượng * đơn giá * 50%.
- Sách tham khảo: Mã sách, đơn giá, số lượng, nhà xuất bản, thuế, thành tiền = số lượng * đơn giá + thuế.
Viết chương trình thực hiện các yêu cầu sau:
- Xây dựng các lớp với chức năng thừa kế.
- Nhập xuất danh sách các loại sách.
- Tính tổng thành tiền cho từng loại.
- Tính trung bình cộng đơn giá của các sách tham khảo.
- Xuất ra các sách giáo khoa của nhà xuất bản X.
Bài giải
-------------------- ######## --------------------
Sach.java package baitapquanlysach; import java.text.SimpleDateFormat; import java.util.Scanner; public class Sach { private String maSach, nhaXuatBan; private double donGia; private int soLuong; Scanner scanner = new Scanner(System.in); public Sach() { super(); } public Sach(String maSach, String nhaXuatBan, double donGia, int soLuong) { super(); this.maSach = maSach; this.nhaXuatBan = nhaXuatBan; this.donGia = donGia; this.soLuong = soLuong; } public String getMaSach() { return maSach; } public void setMaSach(String maSach) { this.maSach = maSach; } public String getNhaXuatBan() { return nhaXuatBan; } public void setNhaXuatBan(String nhaXuatBan) { this.nhaXuatBan = nhaXuatBan; } public double getDonGia() { return donGia; } public void setDonGia(double donGia) { this.donGia = donGia; } public int getSoLuong() { return soLuong; } public void setSoLuong(int soLuong) { this.soLuong = soLuong; } public void nhapSach() { System.out.print("Nhập mã sách: "); maSach = scanner.nextLine(); System.out.print("Nhập tên nhà xuất bản: "); nhaXuatBan = scanner.nextLine(); System.out.print("Nhập đơn giá: "); donGia = scanner.nextDouble(); System.out.print("Nhập số lượng: "); soLuong = scanner.nextInt(); } @Override public String toString() { return "Mã sách: " + this.maSach + ", tên nhà xuất bản: " + this.nhaXuatBan + ", đơn giá: " + this.donGia + ", số lượng: " + this.soLuong; } }
SachGiaoKhoa.java package baitapquanlysach; public class SachGiaoKhoa extends Sach { private String tinhTrang; private int number; private double thanhTien; public SachGiaoKhoa() { super(); } public SachGiaoKhoa(String tinhTrang, int number) { super(); this.tinhTrang = tinhTrang; this.number = number; } public String getTinhTrang() { return tinhTrang; } public void setTinhTrang(String tinhTrang) { this.tinhTrang = tinhTrang; } public int getNumber() { return number; } public void setNumber(int number) { this.number = number; } public String tinhTrangSach(int x) { switch (number) { case 0: tinhTrang = "cũ"; break; case 1: tinhTrang = "mới"; break; default: break; } return tinhTrang; } public void nhapSach() { super.nhapSach(); System.out.print("Nhập tình trạng sách (0 - cũ/ 1 - mới): "); number = scanner.nextInt(); } public String toString() { return super.toString() + ", tình trạng sách: " + this.tinhTrangSach(number); } }
SachThamKhao.java package baitapquanlysach; public class SachThamKhao extends Sach { private double thue, thanhTien; public SachThamKhao() { super(); } public SachThamKhao(double thue) { super(); this.thue = thue; } public double getThue() { return thue; } public void setThue(double thue) { this.thue = thue; } public void nhapSach() { super.nhapSach(); System.out.print("Nhập thuế: "); thue = scanner.nextDouble(); } @Override public String toString() { return super.toString() + ", thuế: " + this.thue; } }
Main.java package baitapquanlysach; import java.util.ArrayList; import java.util.Scanner; public class Main { public static void main(String[] args) { ArrayList<SachGiaoKhoa> arrSachGiaoKhoa = new ArrayList<>(); ArrayList<SachThamKhao> arrSachThamKhao = new ArrayList<>(); int soSachGiaoKhoa, soSachThamKhao; double tongTienSachGiaoKhoa = 0, tongTienSachThamKhao = 0, tongDonGiaSachThamKhao = 0, trungBinhCongDonGia = 0; Scanner scanner = new Scanner(System.in); System.out.print("Nhập số sách giáo khoa: "); soSachGiaoKhoa = scanner.nextInt(); System.out.print("Nhập số sách tham khảo: "); soSachThamKhao = scanner.nextInt(); System.out.println("Nhập thông tin sách giáo khoa:"); for (int i = 0; i < soSachGiaoKhoa; i++) { System.out.println("Nhập thông tin quyển sách thứ " + (i + 1) + ":"); SachGiaoKhoa sachGiaoKhoa = new SachGiaoKhoa(); sachGiaoKhoa.nhapSach(); arrSachGiaoKhoa.add(sachGiaoKhoa); } System.out.println("Nhập thông tin sách tham khảo:"); for (int i = 0; i < soSachThamKhao; i++) { System.out.println("Nhập thông tin quyển sách thứ " + (i + 1) + ":"); SachThamKhao sachThamKhao = new SachThamKhao(); sachThamKhao.nhapSach(); arrSachThamKhao.add(sachThamKhao); } for (int i = 0; i < arrSachGiaoKhoa.size(); i++) { if (arrSachGiaoKhoa.get(i).getNumber() == 0) { tongTienSachGiaoKhoa += arrSachGiaoKhoa.get(i).getSoLuong() * arrSachGiaoKhoa.get(i).getDonGia() * 50 / 100; } else if (arrSachGiaoKhoa.get(i).getNumber() == 1) { tongTienSachGiaoKhoa += arrSachGiaoKhoa.get(i).getSoLuong() * arrSachGiaoKhoa.get(i).getDonGia(); } } System.out.println("Tổng tiền sách giáo khoa = " + tongTienSachGiaoKhoa); for (int i = 0; i < arrSachThamKhao.size(); i++) { tongTienSachThamKhao += arrSachThamKhao.get(i).getSoLuong() * arrSachThamKhao.get(i).getDonGia() + arrSachThamKhao.get(i).getThue(); } System.out.println("Tổng tiền sách tham khảo = " + tongTienSachThamKhao); System.out.println("-----Thông tin sách giáo khoa-----"); for (int i = 0; i < arrSachGiaoKhoa.size(); i++) { System.out.println(arrSachGiaoKhoa.get(i).toString()); } System.out.println("-----Thông tin sách tham khảo-----"); for (int i = 0; i < arrSachThamKhao.size(); i++) { System.out.println(arrSachThamKhao.get(i).toString()); } System.out.println("---Trung bình cộng đơn giá các sách tham khảo---"); for (int i = 0; i < arrSachThamKhao.size(); i++) { tongDonGiaSachThamKhao += arrSachThamKhao.get(i).getDonGia(); trungBinhCongDonGia = tongDonGiaSachThamKhao / arrSachThamKhao.size(); } System.out.println("Trung bình cộng đơn giá các sách tham khảo = " + trungBinhCongDonGia); System.out.println("---Các sách giáo khoa của nhà xuất bản X---"); for (int i = 0; i < arrSachGiaoKhoa.size(); i++) { if (arrSachGiaoKhoa.get(i).getNhaXuatBan().equalsIgnoreCase("X")) { System.out.println(arrSachGiaoKhoa.get(i).toString()); } } } }
Kết quả sau khi biên dịch chương trình:
![banquyen png](https://freetuts.net/public/banquyen.png)
Câu hỏi thường gặp liên quan:
- Java - Viết chương trình quản lý thông tin các chuyến xe.
- Java - Viết chương trình quản lý sách trong thư viện.
- Java - Viết chương trình quản lý giao dịch nhà đất.
- Java - Viết chương trình tính chu vi, diện tích hình vuông.
- Java - Xây dựng chương trình vẽ hình đơn giản (câu hỏi 1)
Cùng chuyên mục:
![Hướng dẫn Upload file với Spring Boot và jQuery Ajax trong Java](https://freetuts.net/upload/tut_series/images/2023/03/07/417/spring-boot.jpg)
Hướng dẫn Upload file với Spring Boot và jQuery Ajax trong Java
![Hướng dẫn download file với Spring Boot trong Java](https://freetuts.net/upload/tut_series/images/2023/03/07/417/spring-boot.jpg)
Hướng dẫn download file với Spring Boot trong Java
![Hướng dẫn Upload file với Spring Boot trong Java](https://freetuts.net/upload/tut_series/images/2023/03/07/417/spring-boot.jpg)
Hướng dẫn Upload file với Spring Boot trong Java
![Hướng dẫn CRUD với Spring Boot, REST và AngularJS trong Java](https://freetuts.net/upload/tut_series/images/2023/03/07/417/spring-boot.jpg)
Hướng dẫn CRUD với Spring Boot, REST và AngularJS trong Java
![Cách sử dụng Spring Scheduled trong Spring Boot](https://freetuts.net/upload/tut_series/images/2023/03/07/417/spring-boot.jpg)
Cách sử dụng Spring Scheduled trong Spring Boot
![Cách dùng Groovy trong Spring Boot Java](https://freetuts.net/upload/tut_series/images/2023/03/07/417/spring-boot.jpg)
Cách dùng Groovy trong Spring Boot Java
![Cách dùng Spring Boot và Mustache trong Java](https://freetuts.net/upload/tut_series/images/2023/03/07/417/spring-boot.jpg)
Cách dùng Spring Boot và Mustache trong Java
![Cách dùng Spring Boot và MongoDB trong Java](https://freetuts.net/upload/tut_series/images/2023/03/07/417/spring-boot.jpg)
Cách dùng Spring Boot và MongoDB trong Java
![Cách tạo Restful Client bằng RestTemplate trong Spring Boot](https://freetuts.net/upload/tut_series/images/2023/03/07/417/spring-boot.jpg)
Cách tạo Restful Client bằng RestTemplate trong Spring Boot
![Hướng dẫn sử dụng Interceptor trong Spring Boot](https://freetuts.net/upload/tut_series/images/2023/03/07/417/spring-boot.jpg)
Hướng dẫn sử dụng Interceptor trong Spring Boot
![Sử dụng Twitter Bootstrap trong Spring Boot](https://freetuts.net/upload/tut_series/images/2023/03/07/417/spring-boot.jpg)
Sử dụng Twitter Bootstrap trong Spring Boot
![Tạo trang web đa ngôn ngữ với Spring Boot trong Java](https://freetuts.net/upload/tut_series/images/2023/03/07/417/spring-boot.jpg)
Tạo trang web đa ngôn ngữ với Spring Boot trong Java
![Tạo ứng dụng Chat với Spring Boot và Websocket](https://freetuts.net/upload/tut_series/images/2023/03/07/417/spring-boot.jpg)
Tạo ứng dụng Chat với Spring Boot và Websocket
![Sử dụng JUnit để tạo unit test trong Spring Boot](https://freetuts.net/upload/tut_series/images/2023/03/07/417/spring-boot.jpg)
Sử dụng JUnit để tạo unit test trong Spring Boot
![Cách triển khai Spring Boot trên Tomcat Server](https://freetuts.net/upload/tut_series/images/2023/03/07/417/spring-boot.jpg)
Cách triển khai Spring Boot trên Tomcat Server
![Cách test RESTful API trong Spring Boot](https://freetuts.net/upload/tut_series/images/2023/03/07/417/spring-boot.jpg)
Cách test RESTful API trong Spring Boot
![Cách dùng Spring Security trong Spring Boot để xác thực và phân quyền](https://freetuts.net/upload/tut_series/images/2023/03/07/417/spring-boot.jpg)
Cách dùng Spring Security trong Spring Boot để xác thực và phân quyền
![Duyệt cây nhị phân bằng phương pháp inOder trong Java](https://freetuts.net/upload/tut_cate/images/2017/09/11/110/java.jpg)
Duyệt cây nhị phân bằng phương pháp inOder trong Java
![Xóa node của cây nhị phân tìm kiếm trong Java](https://freetuts.net/upload/tut_cate/images/2017/09/11/110/java.jpg)
Xóa node của cây nhị phân tìm kiếm trong Java
![Bảo mật Spring Boot RESTful Service sử dụng Basic Authentication trong Java](https://freetuts.net/upload/tut_series/images/2023/03/07/417/spring-boot.jpg)
Bảo mật Spring Boot RESTful Service sử dụng Basic Authentication trong Java
Từ khóa » Thư Viện Code Java
-
Java/JSP
-
Thư Viện Và Package Cần Biết Trong Java - CodeLearn
-
Đồ án Quản Lý Thư Viện Java
-
Tải Source Code Java, đồ án Tốt Nghiệp Java, Bài Tập Lơn Java
-
Dev Java đã Biết đến 20 Thư Viện Này Chưa? (P2) | TopDev
-
10 Thư Viện Java Thường Sử Dụng Nhất - NIIT - ICT Hà Nội
-
Đồ án Quản Lý Thư Viện Bằng Java [Kèm Theo Code] - Tài Liệu Text
-
Tự Tạo Và Sử Dụng Thư Viện Trong Java (Phần 1) - ToiLaCoder
-
Full Code Java đề Tài Quản Lý Thư Viện Bằng JSP-Servlet - MegaCode
-
Các Thư Viện Mã Nguồn Mở Java - Openplanning
-
Source Code Java Quản Lý Thư Viện
-
Chức Năng Quản Lý Sách Java&lưu Thông Tin Trên Files Java - YouTube
-
Source Code Phần Mềm Quản Lý Sách Thư Viện - Codefly.Vn