Untitled
unknown
plain_text
a year ago
4.9 kB
5
Indexable
import java.util.Scanner; // Lớp cha HangHoa class HangHoa { protected String maHang; protected String tenHang; protected double gia; // Phương thức nhập thông tin public void nhapThongTin(Scanner sc) { System.out.print("Nhap ma hang: "); maHang = sc.nextLine(); System.out.print("Nhap ten hang: "); tenHang = sc.nextLine(); System.out.print("Nhap gia: "); gia = sc.nextDouble(); sc.nextLine(); // Đọc bỏ dòng mới sau khi nhập số } // Phương thức xuất thông tin public void xuatThongTin() { System.out.println("Ma hang: " + maHang); System.out.println("Ten hang: " + tenHang); System.out.println("Gia: " + gia); } } // Lớp con HangDienMay class HangDienMay extends HangHoa { private int thoiGianBaoHanh; // tháng private double dienAp; // Vôn private double congSuat; // Watt @Override public void nhapThongTin(Scanner sc) { super.nhapThongTin(sc); System.out.print("Nhap thoi gian bao hanh (thang): "); thoiGianBaoHanh = sc.nextInt(); System.out.print("Nhap dien ap (V): "); dienAp = sc.nextDouble(); System.out.print("Nhap cong suat (W): "); congSuat = sc.nextDouble(); sc.nextLine(); // Đọc bỏ dòng mới sau khi nhập số } @Override public void xuatThongTin() { super.xuatThongTin(); System.out.println("Thoi gian bao hanh: " + thoiGianBaoHanh + " thang"); System.out.println("Dien ap: " + dienAp + " V"); System.out.println("Cong suat: " + congSuat + " W"); } } // Lớp con HangThucPham class HangThucPham extends HangHoa { private String ngaySanXuat; // Định dạng yyyy-MM-dd private String ngayHetHan; // Định dạng yyyy-MM-dd @Override public void nhapThongTin(Scanner sc) { super.nhapThongTin(sc); System.out.print("Nhap ngay san xuat (yyyy-MM-dd): "); ngaySanXuat = sc.nextLine(); System.out.print("Nhap ngay het han (yyyy-MM-dd): "); ngayHetHan = sc.nextLine(); } @Override public void xuatThongTin() { super.xuatThongTin(); System.out.println("Ngay san xuat: " + ngaySanXuat); System.out.println("Ngay het han: " + ngayHetHan); } } // Lớp DSHANGHOA class DSHangHoa { private HangHoa[] danhSach; private int soLuong; // Khởi tạo danh sách ban đầu chưa có mặt hàng nào public DSHangHoa() { danhSach = new HangHoa[100]; soLuong = 0; } // Thêm một mặt hàng vào danh sách public void chenHangHoa(HangHoa hh) { if (soLuong < danhSach.length) { danhSach[soLuong] = hh; soLuong++; } else { System.out.println("Danh sach da day!"); } } // Xuất danh sách các mặt hàng theo loại public void xuatDSTheoLoai(byte loai) { for (int i = 0; i < soLuong; i++) { if ((loai == 1 && danhSach[i] instanceof HangDienMay) || (loai == 2 && danhSach[i] instanceof HangThucPham)) { danhSach[i].xuatThongTin(); System.out.println(); } } } } // Lớp thử nghiệm public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); DSHangHoa dshh = new DSHangHoa(); HangHoa hh; byte chon; do { System.out.println("1: Them mot mat hang vao danh sach"); System.out.println("2: Xuat mat hang theo loai"); System.out.println("0: Thoat"); System.out.print("Chon chuc nang: "); chon = sc.nextByte(); sc.nextLine(); // Đọc bỏ dòng mới sau khi nhập số switch (chon) { case 1: System.out.println("1: Hang dien may, 2: Hang thuc pham. Hay chon loai mat hang:"); byte loai = sc.nextByte(); sc.nextLine(); // Đọc bỏ dòng mới sau khi nhập số if (loai == 1) { hh = new HangDienMay(); } else { hh = new HangThucPham(); } hh.nhapThongTin(sc); dshh.chenHangHoa(hh); break; case 2: System.out.println("Xuat danh sach mat hang nao (1: DM / 2: TP): "); byte loaiMH = sc.nextByte(); sc.nextLine(); // Đọc bỏ dòng mới sau khi nhập số dshh.xuatDSTheoLoai(loaiMH); break; default: chon = 0; break; } } while (chon != 0); sc.close(); } }
Editor is loading...
Leave a Comment