By GokiSoft.com| 13:34 16/09/2022|
Java Basic

Java Basic- OOP - quản lý sách trong java

Cài đặt lớp Book gồm các thuộc tính:

private String bookName;

private String bookAuthor;

private String producer;

private int yearPublishing;

private float price;

 

Cài đặt 2 constructors, các phương thức set/get cho các thuộc tính của lớp.

Cài đặt 2 phương thức input() và display để nhập và hiển thị các thuộc tính của lớp.

 

Cài đặt lớp AptechBook kế thừa lớp Book và bổ sung thêm vào thuộc tính:

private String language;

private int semester;

 

Cài đặt 2 constructor trong đó sử dụng super để gọi đến constructor của lớp cha.

Cài đặt các phương thức get/set cho các thuộc tính bổ sung

Override các phương thức input() và display().

 

Cài đặt lớp Test trong đó tạo menu và thực hiện theo các chức năng của menu:

1.    Nhập thông tin n cuốn sách của Aptech

2.    Hiển thị thông tin vừa nhập

3.    Sắp xếp thông tin giảm dần theo năm xuất bản và hiển thị

4.    Tìm kiếm theo tên sách

5.    Tìm kiếm theo tên tác giả

6.    Thoát.

Phản hồi từ học viên

5

(Dựa trên đánh giá ngày hôm nay)

Vũ Việt Đức [C1907L]
Vũ Việt Đức

2020-03-19 06:39:59



package aptech;
import java.util.Scanner;

public class Test {
    public static void main(String[] args){
        Scanner input = new Scanner(System.in);
        AptechBook[] books;
        int n;
        
        while(true){
            System.out.println("Vui lòng chọn: \n1.    Nhập thông tin n cuốn sách của Aptech\n2.    Hiển thị thông tin vừa nhập\n3.    Sắp xếp thông tin giảm dần theo năm xuất bản và hiển thị\n4.    Tìm kiếm theo tên sách\n5.    Tìm kiếm theo tên tác giả\n6.    Thoát.");
            int chon = Integer.parseInt(input.nextLine());
            
            switch(chon){
                case 1:
                    System.out.print("Nhập số lượng cuốn sách: ");
                    n = Integer.parseInt(input.nextLine());
                    books = new AptechBook[n];
                    System.out.print("Nhập thông tin cho " + n + " cuốn sách: ");
                    for(int i = 0; i < n; i++){
                        books[i].input();
                    }
                    break;
                case 2:
                    for(int i = 0; i < books.length; i++){
                        books[i].display();
                    }
                    break;
                case 3:
                    for(int i = 0; i < books.length; i++){
                        for(int y = i + 1; y < books.length; y++){
                            if(books[i].getYearPublishing() < books[y].getYearPublishing()){
                                AptechBook temp = books[i];
                                books[i] = books[y];
                                books[y] = temp;
                            }
                        }
                    }
                    System.out.print("Thông tin số sách sau khi đã sắp xếp: ");
                    for(int i = 0; i < books.length; i++){
                        books[i].display();
                    }
                    break;
                case 4:
                    System.out.print("Nhập tên sách: ");
                    int count = 0;
                    String name = input.nextLine();
                    for(int i = 0; i < books.length; i++){
                        if(books[i].getBookName().compareTo(name) == 0){
                            books[i].display();
                            count++;
                        }
                    }
                    if(count == 0){
                        System.out.println("Không có cuốn sách nào có tên là: " + name);
                    }
                    break;
                case 5:
                    System.out.print("Nhập tên tác giả: ");
                    int c = 0;
                    String author = input.nextLine();
                    for(int i = 0; i < books.length; i++){
                        if(books[i].getBookAuthor().compareTo(author) == 0){
                            books[i].display();
                            c++;
                        }
                    }
                    if(c == 0){
                        System.out.println("Không có cuốn sách nào có tác giả là: " + author);
                    }
                    break;
                case 6:
                    break;
                default:
                    System.out.println("Bạn đã chọn sai, vui lòng chọn lại.");
            }
            if(chon == 6){
                break;
            }
        }
    }
}



Vũ Việt Đức [C1907L]
Vũ Việt Đức

2020-03-19 06:39:41



package aptech;
import java.util.Scanner;

public class AptechBook extends Book {
    private String language;
    private int semester;

    public String getLanguage() {
        return language;
    }

    public void setLanguage(String language) {
        this.language = language;
    }

    public int getSemester() {
        return semester;
    }

    public void setSemester(int semester) {
        this.semester = semester;
    }

    public AptechBook() {
    }

    public AptechBook(String language, int semester, String bookName, String bookAuthor, String producer, int yearPublishing, float price) {
        super(bookName, bookAuthor, producer, yearPublishing, price);
        this.language = language;
        this.semester = semester;
    }

    @Override
    public void display() {
        super.display();
        System.out.println("- Ngôn ngữ: " + language + "- Học kỳ: " + semester);
    }

    @Override
    public void input() {
        super.input();
        Scanner nhap = new Scanner(System.in);
        System.out.print("Nhập tên ngôn ngữ: ");
        language = nhap.nextLine();
        System.out.print("Nhập học kỳ: ");
        semester = Integer.parseInt(nhap.nextLine());
    }
    
}



Vũ Việt Đức [C1907L]
Vũ Việt Đức

2020-03-19 06:39:15



package aptech;
import java.util.Scanner;

public class Book {
    private String bookName;

    private String bookAuthor;

    private String producer;

    private int yearPublishing;

    private float price;

    public String getBookName() {
        return bookName;
    }

    public void setBookName(String bookName) {
        this.bookName = bookName;
    }

    public String getBookAuthor() {
        return bookAuthor;
    }

    public void setBookAuthor(String bookAuthor) {
        this.bookAuthor = bookAuthor;
    }

    public String getProducer() {
        return producer;
    }

    public void setProducer(String producer) {
        this.producer = producer;
    }

    public int getYearPublishing() {
        return yearPublishing;
    }

    public void setYearPublishing(int yearPublishing) {
        this.yearPublishing = yearPublishing;
    }

    public float getPrice() {
        return price;
    }

    public void setPrice(float price) {
        this.price = price;
    }

    public Book() {
    }

    public Book(String bookName, String bookAuthor, String producer, int yearPublishing, float price) {
        this.bookName = bookName;
        this.bookAuthor = bookAuthor;
        this.producer = producer;
        this.yearPublishing = yearPublishing;
        this.price = price;
    }
    
    public  void input(){
        Scanner nhap = new Scanner(System.in);
        System.out.print("Nhập tên sách: ");
        bookName = nhap.nextLine();
        System.out.print("Nhập tên tác giả: ");
        bookAuthor = nhap.nextLine();
        System.out.print("Nhập nhà xuất bản: ");
        producer = nhap.nextLine();
        System.out.print("Nhập năm xuất bản : ");
        yearPublishing = Integer.parseInt(nhap.nextLine());
        System.out.print("Nhập giá: ");
        price = Float.parseFloat(nhap.nextLine());
    }
    
    public void display(){
        System.out.println("- Tên sách: " + bookName + "\n- Tác giả: " + bookAuthor + "\n- Nhà xuất bản: " + producer + "\n- Năm xuất bản: " + yearPublishing + "\n- Giá: " + price);
    }
}



Ngô Quang Huy [C1907L]
Ngô Quang Huy

2020-03-18 15:42:53



package aptech;

import java.util.Scanner;

public class Book {
    private String bookName;
    private String bookAuthor;
    private String producer;
    private int yearPublishing;
    private float price;
    public Book(){
        
    }

    public Book(String bookName, String bookAuthor, String producer, int yearPublishing, float price) {
        this.bookName = bookName;
        this.bookAuthor = bookAuthor;
        this.producer = producer;
        this.yearPublishing = yearPublishing;
        this.price = price;
    }
    
    public String getBookName() {
        return bookName;
    }

    public void setBookName(String bookName) {
        this.bookName = bookName;
    }

    public String getBookAuthor() {
        return bookAuthor;
    }

    public void setBookAuthor(String bookAuthor) {
        this.bookAuthor = bookAuthor;
    }

    public String getProducer() {
        return producer;
    }

    public void setProducer(String producer) {
        this.producer = producer;
    }

    public int getYearPublishing() {
        return yearPublishing;
    }

    public void setYearPublishing(int yearPublishing) {
        this.yearPublishing = yearPublishing;
    }

    public float getPrice() {
        return price;
    }

    public void setPrice(float price) {
        this.price = price;
    }
    
    public void inputBook(){
        Scanner input = new Scanner(System.in);
        System.out.print("Nhap ten sach: ");
        bookName = input.nextLine();
        System.out.print("Nhap ten tac gia: ");
        bookAuthor = input.nextLine();
        System.out.print("Nhap nha san xuat: ");
        producer = input.nextLine();
        System.out.print("Nhap nam san xuat: ");
        yearPublishing = Integer.parseInt(input.nextLine());
        System.out.print("Nhap gia: ");
        price = Float.parseFloat(input.nextLine());
    }
    public void outputBook(){
        System.out.println("\nTen Sach la: "+bookName);
        System.out.println("Tac gia la: "+bookAuthor);
        System.out.println("Nha san xuat la: "+producer);
        System.out.println("Nam san xuat la: "+yearPublishing);
        System.out.println("Gia la: "+price);
    }
}



package aptech;

import java.util.Scanner;

public class AptechBook extends Book{
    private String language;
    private int semester;

    public AptechBook() {
    }
    
    public AptechBook(String language, int semester) {
        this.language = language;
        this.semester = semester;
    }

    public AptechBook(String language, int semester, String bookName, String bookAuthor, String producer, int yearPublishing, float price) {
        super(bookName, bookAuthor, producer, yearPublishing, price);
        this.language = language;
        this.semester = semester;
    }

    public String getLanguage() {
        return language;
    }

    public void setLanguage(String language) {
        this.language = language;
    }

    public int getSemester() {
        return semester;
    }

    public void setSemester(int semester) {
        this.semester = semester;
    }

    @Override
    public void inputBook() {
        super.inputBook();
        Scanner input = new Scanner(System.in);
        System.out.print("Nhap vao ngon ngu: ");
        language = input.nextLine();
        System.out.print("Nhap vao hoc ky: ");
        semester = input.nextInt();
    }

    @Override
    public void outputBook() {
        super.outputBook();
        System.out.println("Ngon ngu la: "+language);
        System.out.println("Hoc ki la: "+semester);
    }
}



package aptech;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        int n=0;
        Scanner input = new Scanner(System.in);
        ArrayList<AptechBook> arr = new ArrayList<>();
        while(true){
            System.out.println("\n\t1.Nhập thông tin n cuốn sách của Aptech");
            System.out.println("\t2.Hiển thị thông tin vừa nhập");
            System.out.println("\t3.Sắp xếp thông tin giảm dần theo năm xuất bản và hiển thị");
            System.out.println("\t4.Tìm kiếm theo tên sách");
            System.out.println("\t5.Tìm kiếm theo tên tác giả");
            System.out.println("\t6.Thoát.");
            System.out.print("Nhap vao lua chon: ");
            int choose = Integer.parseInt(input.nextLine());
            switch(choose){
                case 1:
                    System.out.print("\nNhap vao so sach: ");
                    n = Integer.parseInt(input.nextLine());
                    for(int i=0;i<n;i++){
                        AptechBook sach = new AptechBook();
                        sach.inputBook();
                        arr.add(sach);
                    }
                    break;
                case 2:
                    for(int i=0;i<n;i++){
                        arr.get(i).outputBook();
                    }
                    break;
                case 3:
                    for(int i=0;i<n-1;i++){
                        for(int j=i+1;j<n;j++){
                            if(arr.get(i).getYearPublishing()>arr.get(j).getYearPublishing()){
                                Collections.swap(arr,i,j);
                            }
                        }
                    }
                    for(int i=0;i<n;i++){
                        arr.get(i).outputBook();
                    }
                    break;
                case 4:
                    System.out.print("Nhap vao ten sach: ");
                    String tmp = input.nextLine();
                    for(int i=0;i<n;i++){
                        if(arr.get(i).getBookName().equals(tmp)==true){
                            arr.get(i).outputBook();
                            break;
                        }
                    }
                    break;
                case 5:
                    System.out.print("Nhap vao tac gia: ");
                    String tmp2 = input.nextLine();
                    for(int i=0;i<n;i++){
                        if(arr.get(i).getBookAuthor().equals(tmp2)==true){
                            arr.get(i).outputBook();
                            break;
                        }
                    }
                    break;
                case 6:
                    System.exit(0);
                    break;
            }
        }
    }
}



Lê Minh Bắc [T1907A]
Lê Minh Bắc

2020-03-16 12:38:16

AptechBook:


package bt52;
public class AptechBook extends Book{
    private String language;
    private int semester;

    public AptechBook() {
    }
}

Book:
package bt52;
import java.util.Scanner;
public class Book {
    private String bookName;
    private String bookAuthor;
    private String producer;
    private int yearPublishing;
    private float price;

    public Book() {
    }

    public Book(String bookName, String bookAuthor, String producer, int yearPublishing, float price) {
        this.bookName = bookName;
        this.bookAuthor = bookAuthor;
        this.producer = producer;
        this.yearPublishing = yearPublishing;
        this.price = price;
    }

    public String getBookName() {
        return bookName;
    }

    public void setBookName(String bookName) {
        this.bookName = bookName;
    }

    public String getBookAuthor() {
        return bookAuthor;
    }

    public void setBookAuthor(String bookAuthor) {
        this.bookAuthor = bookAuthor;
    }

    public String getProducer() {
        return producer;
    }

    public void setProducer(String producer) {
        this.producer = producer;
    }

    public int getYearPublishing() {
        return yearPublishing;
    }

    public void setYearPublishing(int yearPublishing) {
        this.yearPublishing = yearPublishing;
    }

    public float getPrice() {
        return price;
    }

    public void setPrice(float price) {
        this.price = price;
    }

    public void input() {
        Scanner scan = new Scanner(System.in);
        System.out.println("Nhap ten sach: ");
        bookName = scan.nextLine();
        System.out.println("Nhap ten tac gia: ");
        bookAuthor = scan.nextLine();
        System.out.println("Nhap nha san xuat: ");
        producer = scan.nextLine();
        System.out.println("Nhap nam san xuat: ");
        yearPublishing = Integer.parseInt(scan.nextLine());
        System.out.println("Nhap gia: ");
        price = Float.parseFloat(scan.nextLine());
    }
    
    public void display() {
        
    }
}