IMG-LOGO
×

Tài Liệu Học

Khoá học lập trình Java Core nâng cao

Exception & Collection

[Video] Tìm hiểu exception + debug + package - lập trình Java Nâng Cao [Video] Tìm hiểu collections, Sets, Maps và Generic - lập trình java nâng cao [Video] Chương trình quản lý sinh viên bằng HashMap - Java Advanced

File

[Video] Hướng dẫn đọc ghi file FileInputStream, FileOutputStream, ObjectInputStream trong java - lập trình java nâng cao [Video] Bài tập quản lý sách & lưu thông tin trên Files [Video] File - Quản lý thông tin sinh viên [Video] Quản lý thông tin sinh & lưu object file - Java nâng cao [Video] Viết ứng dụng WinRar | WinZip | 7Zip bằng Java - Nén file Java & giải nén file Java - Khoá học Java [Video] Bài tập quản lý bán vé máy bay - java nâng cao

Thread

[Video] Phân tích quản lý ứng dụng trong HĐH (Window, Mac, Linux)-Phân tích Game đa luồng Java [Video] Tìm hiểu Thread - Đồng bộ Thread - lập trình java nâng cao - Bổ sung thêm lớp học mới. [Video] Giải thích synchronized + Lap trinh Java nang cao [Video] Thread thực hiện in ngẫu nhiên các số nguyên và ký tự - Phần 1 [Video] Thread thực hiện in ngẫu nhiên các số nguyên và ký tự & Đông bộ thread + wait notify + synchronized + Java nâng cao - Phần 2 [Video] Synchronized 2 Thread - Bài tập mảng tên + địa chỉ - Java nâng cao [Video] Bài tập ôn luyện tổng hợp File, OOP, Thread trong java [Video] Sử dụng MultiThreading sinh ký tự a-zA-Z trong java

CSDL

[Video] Kết nối MySQL trong java swing JDBC trong java - lập trình java nâng cao [Video] Kết nối CSDL bằng java swing phần 1 - lập trình java nâng cao [Video] Kết nối CSDL bằng java swing phần 2 - lập trình java nâng cao [Video] Chương trình quản lý thư viện Java + XML Java + CSDL Java- SQL Java [Video] Phần mềm quản lý sinh viên MySQL + Java - Chương trình quản lý sinh viên MySQL + Java - Lập Trình Java [Video] Bài Tập Quản Lý Sinh Viên - CSDL - Java Swing [Video] Chương trình quản lý sản phẩm - quản lý tin tức - quản lý bán hàng - Lập trình Java [Video] Chức năng register & login + CSDL - Lập trình Java nâng cao - Phần 1 [Video] Hướng dẫn sử dụng Persistence Java - Kết nối database Java - MySQL Java nâng cao

Design Pattern & Đa Ngôn Ngữ

[Video] Design Pattern lập trình java nâng cao - lập trình java nâng cao

XML & JSON & CSDL

[Video] C1 > Chương trình quản lý sinh viên Java + Import/Export JSON + File - Lập Trình Java [Video] C2 > Chương trình quản lý sinh viên Java + Import/Export JSON + File - Lập Trình Java

Ôn Tập Tổng Quát & Exmination

[Video] Bài tập - Chường trình quản lý sở thú - Lập trình Java - Lập trình Java nâng cao - Phần 1 [Video] Bài tập - Chường trình quản lý sở thú - Lập trình Java - Lập trình Java nâng cao - Phần 2




Trang Chủ Java Advanced [Assignment] >> Quản lý bán hàng + java console

[Assignment] >> Quản lý bán hàng + java console

by GokiSoft.com - 17:23 29/10/2021 17,605 Lượt Xem

Viết chương trình sau :

- Triển khai lớp đối tường sau

1. Danh mục sản phầm -> gồm các thuộc tính sau : mã danh mục, tên danh mục

- tạo hàm tạo và các bộ getter/setter cho chương trình

- Viết hàm nhập dữ liệu và hiển thị dữ liệu cho danh mục

2. Sản phẩm -> gồm các thuộc tính : mã sản phẩm, mã danh mục, tên sp, giá, ngày nhập, ngày bán, hạn sử dụng, mô tả sản phẩm.

- tạo hàm tạo và các bộ getter/setter cho chương trình

- Viết hàm nhập dữ liệu và hiển thị dữ liệu cho danh mục

Viết menu chương trình sau

1. Nhập thông tin danh mục

2. Nhập thông tin sản phẩm 

3. In ra danh sách các sản phẩm đã bán

4. In ra danh sách sản phầm còn tồn kho

5. In ra danh sách sản phẩm đã quá hạn sử dụng (lấy giờ hiện tại của hệ thống để kiểm tra với HSD của sản phẩm)

6. In ra danh sách sản phẩm sắp hết hạn sử dụng (lấy giờ hiện tại của hệ thống và kiểm tra vs HSD, nếu giờ hiện tại <= HSD và giờ hiện tại >= HSD - 7 ngày thì in  kết quả ra)

7. Tìm kiếm >>> nhập tên sản phẩm -> in ra tất cả các sản phẩm có tên nhập vào và số sản phẩm.

Ví dụ : 

-Tìm kiếm : A

Kết quả :

Sản phẩm: A, price : 100$, ngày nhập : xx-xx-xxxx, ngày bán : xx-xx-xxxx, HSD : xx-xx-xxxx

Sản phẩm: A, price : 100$, ngày nhập : xx-xx-xxxx, ngày bán : xx-xx-xxxx, HSD : xx-xx-xxxx

Sản phẩm: A, price : 100$, ngày nhập : xx-xx-xxxx, ngày bán : xx-xx-xxxx, HSD : xx-xx-xxxx

Số lượng : 3

8. Lưu vào file (danh mục sẽ được lưu vào file category.dat, sản phẩm đã bán vào sell.dat, hết hạn sử dụng vào file : expire.dat, sản phẩm còn lại vào product.dat)

9. Đọc dữ liệu từ file và lưu ra chương trình.

Bình luận



Chia sẻ từ lớp học

Do Trung Duc [T2008A]

Ngày viết: 12:05 28/03/2021



/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package ex.test4;

import java.io.Serializable;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author TrungDuc
 */
public class Product implements Serializable{

    public String MaSanPham;
    public String MaDanhMuc;
    public String TenSanPham;
    public float Giaban;
    public Date NgayNhap;
    public Date NgayBan;
    public Date HanSuDung;
    public String MotaSanPham;

    public Product() {
    }

    public Product(String MaSanPham, String MaDanhMuc, String TenSanPham, float Giaban, Date NgayNhap, Date NgayBan, Date HanSuDung, String MotaSanPham) {
        this.MaSanPham = MaSanPham;
        this.MaDanhMuc = MaDanhMuc;
        this.TenSanPham = TenSanPham;
        this.Giaban = Giaban;
        this.NgayNhap = NgayNhap;
        this.NgayBan = NgayBan;
        this.HanSuDung = HanSuDung;
        this.MotaSanPham = MotaSanPham;
    }

    public String getMaSanPham() {
        return MaSanPham;
    }

    public void setMaSanPham(String MaSanPham) {
        this.MaSanPham = MaSanPham;
    }

    public String getMaDanhMuc() {
        return MaDanhMuc;
    }

    public void setMaDanhMuc(String MaDanhMuc) {
        this.MaDanhMuc = MaDanhMuc;
    }

    public String getTenSanPham() {
        return TenSanPham;
    }

    public void setTenSanPham(String TenSanPham) {
        this.TenSanPham = TenSanPham;
    }

    public float getGiaban() {
        return Giaban;
    }

    public void setGiaban(float Giaban) {
        this.Giaban = Giaban;
    }

    public Date getNgayNhap() {
        return NgayNhap;
    }

    public void setNgayNhap(Date NgayNhap) {
        this.NgayNhap = NgayNhap;
    }

    public Date getNgayBan() {
        return NgayBan;
    }

    public void setNgayBan(Date NgayBan) {
        this.NgayBan = NgayBan;
    }

    public Date getHanSuDung() {
        return HanSuDung;
    }

    public void setHanSuDung(Date HanSuDung) {
        this.HanSuDung = HanSuDung;
    }

    public String getMotaSanPham() {
        return MotaSanPham;
    }

    public void setMotaSanPham(String MotaSanPham) {
        this.MotaSanPham = MotaSanPham;
    }

    @Override
    public String toString() {
        return "Product{" + "MaSanPham=" + MaSanPham + ", MaDanhMuc=" + MaDanhMuc + ", TenSanPham=" + TenSanPham + ", Giaban=" + Giaban + ", NgayNhap=" + NgayNhap + ", NgayBan=" + NgayBan + ", HanSuDung=" + HanSuDung + ", MotaSanPham=" + MotaSanPham + '}';
    }

    public void NhapDuLieu() {
        SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy");
        Scanner scan = new Scanner(System.in);

        System.out.println("Nhap Ma San Pham: ");
        MaSanPham = scan.nextLine();

        System.out.println("Nhap Ma Danh Muc: ");
        MaDanhMuc = scan.nextLine();

        System.out.println("Nhap Ten San Pham: ");
        TenSanPham = scan.nextLine();

        System.out.println("Nhap Gia ban San Pham: ");
        Giaban = Float.parseFloat(scan.nextLine());

        System.out.println("Nhap Ngay nhap San Pham: ");
        String ngaynhapString = scan.nextLine();
        if (ngaynhapString.equals("")) {
            NgayNhap = null;
        } else {

            try {
                NgayNhap = format.parse(ngaynhapString);
            } catch (ParseException ex) {
                Logger.getLogger(Product.class.getName()).log(Level.SEVERE, null, ex);
            }

        }

        System.out.println("Nhap Ngay Ban San Pham: ");
        String ngaybanString = scan.nextLine();

        if (ngaybanString.equals("")) {
            NgayBan = null;
        } else {
            try {
                NgayBan = format.parse(ngaybanString);
            } catch (ParseException ex) {
                Logger.getLogger(Product.class.getName()).log(Level.SEVERE, null, ex);
            }
        }

        System.out.println("Nhap Han Su Dung San Pham: ");
        String HSDString = scan.nextLine();

        if (HSDString.equals("")) {
            HanSuDung = null;
        } else {
            try {
                HanSuDung = format.parse(HSDString);
            } catch (ParseException ex) {
                Logger.getLogger(Product.class.getName()).log(Level.SEVERE, null, ex);
            }
        }

        System.out.println("Nhap mo ta san pham: ");
        MotaSanPham = scan.nextLine();
    }

    public void HienThi() {
        System.out.println(this);
    }

}


Do Trung Duc [T2008A]

Ngày viết: 12:05 28/03/2021



/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package ex.test4;

import java.io.Serializable;
import java.util.Scanner;

/**
 *
 * @author TrungDuc
 */
public class Category implements Serializable{

    public String MaDanhMuc;
    public String TenDanhMuc;

    public Category() {
    }

    public Category(String MaDanhMuc, String TenDanhMuc) {
        this.MaDanhMuc = MaDanhMuc;
        this.TenDanhMuc = TenDanhMuc;
    }

    public String getMaDanhMuc() {
        return MaDanhMuc;
    }

    public void setMaDanhMuc(String MaDanhMuc) {
        this.MaDanhMuc = MaDanhMuc;
    }

    public String getTenDanhMuc() {
        return TenDanhMuc;
    }

    public void setTenDanhMuc(String TenDanhMuc) {
        this.TenDanhMuc = TenDanhMuc;
    }

    @Override
    public String toString() {
        return "Category{" + "MaDanhMuc=" + MaDanhMuc + ", TenDanhMuc=" + TenDanhMuc + '}';
    }

    public void Hienthi() {
        System.out.println(this);
    }

    public void nhapDuLieu() {
        Scanner scan = new Scanner(System.in);
        System.out.println("Nhap ten danh muc");
        TenDanhMuc = scan.nextLine();
        System.out.println("Nhap ma danh muc");
        MaDanhMuc = scan.nextLine();

    }

}


Do Trung Duc [T2008A]

Ngày viết: 12:05 28/03/2021



/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package ex.test4;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author TrungDuc
 */
public class Main {

    static List<Category> categoryList = new ArrayList<>();
    static List<Product> productList = new ArrayList<>();
    static Date dateSystem = new Date();

    public static void main(String[] agrs) {
        Scanner scan = new Scanner(System.in);
        int choose;
        do {
            Menu();
            choose = Integer.parseInt(scan.nextLine());

            switch (choose) {
                case 1:
                    NhapThongTinDanhMuc();
                    break;

                case 2:
                    NhapThongTinSanPham();
                    break;

                case 3:
                    InSanPhamDaBan();
                    break;

                case 4:
                    InSanPhamTonKho();
                    break;

                case 5:
                    InSanPhamQuaHan();
                    break;

                case 6:
                    InSanPhamSapHetHan();
                    break;

                case 7:
                    TimKiem();
                    break;

                case 8:
                    LuuFile();
                    break;

                case 9:
                    DocFile();
                    break;
                default:
                    System.err.println("Nhap choose sai!!!");
                    break;
            }

        } while (choose != 9);

    }

    static void Menu() {
        System.out.println("1. Nhập thông tin danh mục");
        System.out.println("2. Nhập thông tin sản phẩm ");
        System.out.println("3. In ra danh sách các sản phẩm đã bán");
        System.out.println("4. In ra danh sách sản phầm còn tồn kho");
        System.out.println("5. In ra danh sách sản phẩm đã quá hạn sử dụng ");
        System.out.println("6. In ra danh sách sản phẩm sắp hết hạn sử dụng");
        System.out.println("7.Tìm kiếm ");
        System.out.println("8. Lưu vào file");
        System.out.println("9. Đọc dữ liệu từ file và lưu ra chương trình");
        System.out.println("Chon: ");
    }

    private static void NhapThongTinDanhMuc() {
        Scanner scan = new Scanner(System.in);
        System.out.println("Nhap so luong danh muc muon them: ");
        int num = Integer.parseInt(scan.nextLine());

        for (int i = 0; i < num; i++) {
            System.out.format("Nhap danh muc thu %d", i + 1);
            Category category = new Category();
            category.nhapDuLieu();
            categoryList.add(category);
        }
    }

    private static void NhapThongTinSanPham() {
        Scanner scan = new Scanner(System.in);
        System.out.println("Nhap so luong san pham muon them: ");
        int num = Integer.parseInt(scan.nextLine());
        for (int i = 0; i < num; i++) {
            System.out.format("Nhap san pham thu %d", i + 1);
            Product product = new Product();
            product.NhapDuLieu();
            productList.add(product);
        }
    }

    private static void InSanPhamDaBan() {
        for (Product product : productList) {
            if (product.getNgayBan() != null) {
                product.HienThi();
            }
        }

    }

    private static void InSanPhamTonKho() {
        for (Product product : productList) {
            if (product.getNgayBan() == null) {
                product.HienThi();
            }
        }
    }

    private static void InSanPhamQuaHan() {
        for (Product product : productList) {
            if (product.getHanSuDung().before(dateSystem)) {
                product.HienThi();
            }
        }

    }

    private static void InSanPhamSapHetHan() {

        for (Product product : productList) {
            Date HanSuDung = product.getHanSuDung();
            Calendar c = Calendar.getInstance();
            c.setTime(HanSuDung);
            c.add(Calendar.DATE, 7);
            Date HanSuDungPlus = c.getTime();

            int compare1 = HanSuDungPlus.compareTo(dateSystem);
            int compare2 = (product.getHanSuDung()).compareTo(dateSystem);
            if (compare1 > 0 && compare2 < 0) {
                product.HienThi();
            }
        }
    }

    private static void TimKiem() {
        Scanner scan = new Scanner(System.in);
        System.out.println("Nhap ten san pham can tim");
        String name = scan.nextLine();
        int count = 0;
        for (Product product : productList) {
            if (product.getTenSanPham().equalsIgnoreCase(name)) {
                count += 1;
                product.HienThi();
            }
        }
        System.out.println("So luong san pham:" + count);

    }

    private static void LuuFile() {
        FileOutputStream fos = null;
        ObjectOutputStream oos = null;

        try {
            fos = new FileOutputStream("category.dat");
            oos = new ObjectOutputStream(fos);
            for (Category category : categoryList) {
                oos.writeObject(category);
            }
        } catch (FileNotFoundException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IOException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        }

        FileOutputStream fos_sell = null;
        ObjectOutputStream oos_sell = null;

        try {
            fos_sell = new FileOutputStream("sell.dat");
            oos_sell = new ObjectOutputStream(fos_sell);
            for (Product product : productList) {
                if (product.NgayBan != null) {
                    oos_sell.writeObject(product);
                }
            }
        } catch (FileNotFoundException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IOException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        }

        FileOutputStream fos_expire = null;
        ObjectOutputStream oos_expire = null;

        try {
            fos_expire = new FileOutputStream("expire.dat");
            oos_expire = new ObjectOutputStream(fos_expire);
            for (Product product : productList) {
                int compare = product.HanSuDung.compareTo(dateSystem);
                if (compare > 0) {
                    oos_expire.writeObject(product);
                }
            }
        } catch (FileNotFoundException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IOException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        }

        FileOutputStream fos_other = null;
        ObjectOutputStream oos_other = null;
        try {
            fos_other = new FileOutputStream("product.dat");
            oos_other = new ObjectOutputStream(fos_other);
            for (Product product : productList) {
                int compare1 = product.HanSuDung.compareTo(dateSystem);
                int compare2 = (product.getHanSuDung()).compareTo(dateSystem);
                if ((compare1 > 0 && compare2 < 0) || (product.NgayBan != null)) {
                    continue;
                }
                oos_other.writeObject(product);
            }
        } catch (FileNotFoundException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IOException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        }

    }

    private static void DocFile() {
        FileInputStream fis = null;
        ObjectInputStream ois = null;

        try {

            fis = new FileInputStream("category.dat");
            ois = new ObjectInputStream(fis);
            while (true) {
                Category category = (Category) ois.readObject();
                if (category != null) {
                    categoryList.add(category);
                } else {
                    break;
                }
            }
        } catch (FileNotFoundException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IOException | ClassNotFoundException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        }

        FileInputStream fis_sell = null;
        ObjectInputStream ois_sell = null;

        try {

            fis_sell = new FileInputStream("sell.dat");
            ois_sell = new ObjectInputStream(fis_sell);
            while (true) {
                Product product = (Product) ois_sell.readObject();
                if (product != null) {
                    productList.add(product);
                } else {
                    break;
                }
            }
        } catch (FileNotFoundException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IOException | ClassNotFoundException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        }

        FileInputStream fis_expire = null;
        ObjectInputStream ois_expire = null;

        try {

            fis_expire = new FileInputStream("expire.dat");
            ois_expire = new ObjectInputStream(fis_expire);
            while (true) {
                Product product = (Product) ois_expire.readObject();
                if (product != null) {
                    productList.add(product);
                } else {
                    break;
                }
            }
        } catch (FileNotFoundException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IOException | ClassNotFoundException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        }

        FileInputStream fis_other = null;
        ObjectInputStream ois_other = null;

        try {

            fis_other = new FileInputStream("product.dat");
            ois_other = new ObjectInputStream(fis_other);
            while (true) {
                Product product = (Product) ois_other.readObject();
                if (product != null) {
                    productList.add(product);
                } else {
                    break;
                }
            }
        } catch (FileNotFoundException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IOException | ClassNotFoundException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        }

    }
}


Tài Liệu Tham Khảo

Đã sao chép!!!