Professional Documents
Culture Documents
- Hàng hóa có các thông tin sau: mã sản phẩm, tên sản phẩm, xuất xứ, số lượng
tồn kho, dơn giá nhập, đơn giá bán.
- Khác hàng có các thông tin sau: mã khách hàng, tên khách hàng, sô điện thoại
- Đơn hàng có các thông tin sau: mã đơn hàng, khách hàng, ngày mua, danh
sách sản phẩm và số lượng mua.
Câu 1. Xây dựng class SanPham, KhacHang chứa các phương thức: get, set,
constructor, input, output.
Câu 2. Xây dựng class DonHang chứa các phương thức thêm đơn hàng
Câu 3. Tìm khách hàng mua sản phẩm với đơn hàng có giá cao nhất trong khoảng
thời gian từ beginDate đến endDate.
Câu 4. Tìm khách hàng mua nhiều sản phẩm nhất trong khoảng thời gian từ
beginDate đến endDate.
Câu 5. Tìm khách hàng mua nhiều sản phẩm với nhiều đơn hàng nhất trong năm.
Câu 6. Viết hàm tìm sản phẩm bán được với số lượng nhiều nhất trong năm.
Câu 7. Viết hàm tìm sản phẩm bán được với số lượng ít nhất trong năm.
Câu 8. Viết hàm tìm sản phẩm bán được với lợi nhuận cao nhất trong năm.
Câu 9. Viết hàm tìm sản phẩm bán được với lợi nhuận thấp nhất trong năm.
Câu 1
public class SanPham {
private String maSanPham;
private String tenSanPham;
private String xuatXu;
private int soLuongTonKho;
private double donGiaNhap;
private double donGiaBan;
public SanPham() {
this.maSanPham = "";
this.tenSanPham = "";
this.xuatXu = "";
this.soLuongTonKho = 0;
this.donGiaNhap = 0;
this.donGiaBan = 0;
}
public KhachHang() {
this.maKhachHang = "";
this.tenKhachHang = "";
this.soDienThoai = "";
}
Câu 2:
public class DonHang {
private String maDonHang;
private KhachHang khachHang;
private Date ngayMua;
private List<SanPham> danhSachSanPham;
public DonHang() {
this.maDonHang = "";
this.khachHang = new KhachHang();
this.ngayMua = new Date();
this.danhSachSanPham = new ArrayList<>();
}
Câu 3
public static KhachHang timKhachHangMuaNhieuNhat(Date beginDate, Date
endDate) {
DonHang maxDonHang = null;
double maxValue = 0;
for (DonHang dh : CuaHang.danhSachDonHang) {
if (dh.getNgayMua().compareTo(beginDate) >= 0 &&
dh.getNgayMua().compareTo(endDate) <= 0) {
double sum = 0;
for (SanPham sp : dh.getDanhSachSanPham()) {
sum += sp.getDonGiaBan() * sp.getSoLuongTonKho();
}
if (sum > maxValue) {
maxValue = sum;
maxDonHang = dh;
}
}
}
if (maxDonHang == null) {
return null;
}
return maxDonHang.getKhachHang();
}