Bài 10 - Bài tập quản lý tủ lạnh với thao tác nhập, xuất, sắp xếp,... bằng ArrayList trong Java

Bài 10 với bài toán quản lý tủ lạnh với arraylist. Click để xem chi tiết!

 
Bài 10, Tạo các lớp theo sơ đồ theo sơ đồ phân cấp sau:
MATHANGtenHang: String
maHang: int
nuocSX: String
nhap() 
hienThi()
TULANH kế thừa từ MATHANGdungTich: int
mauSac: String
hangSX: String
soLuong: int
donGia: float
nhap()
hienThi()
thanhTien()
Yêu cầu: 
  • Xây dựng mỗi lớp ở một file riêng biệt, ngoài các thành phần đã liệt kê, có thể bổ sung thêm lớp phương thức và thuộc tính cho phù hợp
  • Mỗi lớp đều có phương thức khởi tạo có tham số và không có tham số
Áp dụng:
  • Nhập danh sách các tủ lạnh
  • In danh sách các tủ lạnh đã nhập
  • Liệt kê danh sách tủ lạnh theo hãng sản xuất nào đó được nhập từ bàn phím
  • Tính tổng tiền danh sách các tủ lạnh đã được nhập
  • In các tủ lạnh có dung tích trên 200 lít
  • sắp xếp danh sách các tủ lạnh theo thứ tự giảm dần của số lượng

Code đầy đủ: 


Với bài này, ta sẽ sử dụng ArrayList để quản lý danh sách. Ngoài ra, với phần sắp xếp, các bạn sử dụng Collections.sort() để sắp xếp

Tạo class MATHANG.java

package TH4.bai10;
import java.util.Scanner;
public class MATHANG {
public String matHang, nuocSX;
public int maHang;
public MATHANG() {
matHang="";
maHang=0;
nuocSX = "";
}
public MATHANG(String matHang, int maHang, String nuocSX) {
this.maHang = maHang;
this.matHang= matHang;
this.nuocSX = nuocSX;
}
public void nhap(){
Scanner sc = new Scanner(System.in);
System.out.print("Nhap ten mat hang: ");
matHang = sc.nextLine();
System.out.print("Nhap vao nuoc san xuat: ");
nuocSX = sc.nextLine();
System.out.print("Nhap ma hang: ");
maHang = sc.nextInt();
}
public void xuat() {
System.out.printf("\n%20s%15d%20s", matHang, maHang, nuocSX);
}
}

Tạo class TULANH.java để quản lý thông tin từng tủ lạnh

package TH4.bai10;
import java.util.Scanner;
public class TULANH extends MATHANG{
public int dungTich, soLuong;
public String mauSac,hangSX;
public float donGia;
public TULANH(){
dungTich = 0;
mauSac ="";
hangSX = "";
soLuong = 0;
donGia = 0;
}
public TULANH(int dungTich, String mauSac, String hangSX, int soLuong, float donGia) {
super();
this.dungTich = dungTich;
this.mauSac = mauSac;
this.donGia = donGia;
this.soLuong = soLuong;
this.hangSX= hangSX;
}
public void nhapTL() {
Scanner input = new Scanner(System.in);
nhap();
System.out.print("Nhap mau sac: ");
mauSac = input.nextLine();
System.out.print("Nhap hang SX: ");
hangSX = input.nextLine();
System.out.print("Nhap dung tich: ");
dungTich = input.nextInt();
System.out.print("Nhap so luong: ");
soLuong = input.nextInt();
System.out.print("Nhap don gia: ");
donGia = input.nextFloat();
}
public float thanhTien() {
return soLuong*donGia;
}
public void xuatTL(){
xuat();
System.out.printf("%10d%15s%15s%10d%20.2f%20.2f", dungTich, mauSac, hangSX, soLuong, donGia, thanhTien());
}
}

Tạo class DSTULANH.java để quản lý một danh sách các tủ lạnh với arraylist

package TH4.bai10;
import java.util.Comparator;
import java.util.Scanner;
import java.util.ArrayList;
import java.util.Collections;
public class DSTULANH {
ArrayList<TULANH> listTL;
public void nhapDS() {
Scanner sc = new Scanner(System.in);
int n;
do {
System.out.print("\nNhap vao so tu lanh: ");
n = sc.nextInt();
} while (n <= 0);
listTL = new ArrayList<>(n);
for (int i = 0; i < n; i++) {
TULANH tl = new TULANH();
System.out.printf("\nNhap vao thong tin tu lanh %d\n", i + 1);
tl.nhapTL();
tl.thanhTien();
listTL.add(tl);
}
}
public void xuatDS() {
System.out.printf("\n%20s%15s%20s%10s%15s%15s%10s%20s%20s",
"Mat hang", "ma hang", "nuoc SX", "dung Tich", "mau Sac", "hang SX", "so Luong", "don Gia", "thanh tien");
for (TULANH tl : listTL) {
System.out.printf("\n%20s%15d%20s%10d%15s%15s%10d%20.2f%20.2f",
tl.matHang, tl.maHang, tl.nuocSX, tl.dungTich, tl.mauSac, tl.hangSX, tl.soLuong, tl.donGia, tl.thanhTien());
}
}
public void dsHangX() {
Scanner input = new Scanner(System.in);
String hangX;
int k = 0;
System.out.print("\nNhap vao hang tu lanh can hien thi: ");
hangX = input.nextLine();
System.out.printf("\n%20s%15s%20s%10s%15s%15s%10s%20s%20s",
"Mat hang", "ma hang", "nuoc SX", "dung Tich", "mau Sac", "hang SX", "so Luong", "don Gia", "thanh tien");
for (TULANH tl : listTL) {
if ((hangX).equals(tl.hangSX) == true) {
System.out.printf("\n%20s%15d%20s%10d%15s%15s%10d%20.2f%20.2f",
tl.matHang, tl.maHang, tl.nuocSX, tl.dungTich, tl.mauSac, tl.hangSX, tl.soLuong, tl.donGia, tl.thanhTien());
k++;
}
}
if(k==0) {
System.out.printf("\nKhong ton tai du lieu ve hang %s", hangX);
}
}
public void tongTien(){
float S;
S =0;
for(TULANH tl:listTL) {
S+=tl.thanhTien();
}
System.out.printf("\nTong gia tri cac tu lanh nhap vao la: %2f", S);
}
public void tuLanh200() {
int k =0;
System.out.print("\ndanh sach tu lanh dung tich tren 200: ");
System.out.printf("\n%20s%15s%20s%10s%15s%15s%10s%20s%20s",
"Mat hang", "ma hang", "nuoc SX", "dung Tich", "mau Sac", "hang SX", "so Luong", "don Gia", "thanh tien");
for (TULANH tl : listTL) {
if (tl.dungTich >200) {
System.out.printf("\n%20s%15d%20s%10d%15s%15s%10d%20.2f%25.2f",
tl.matHang, tl.maHang, tl.nuocSX, tl.dungTich, tl.mauSac, tl.hangSX, tl.soLuong, tl.donGia, tl.thanhTien());
k++;
}
}
if(k==0) {
System.out.print("\nKhong ton tai du lanh dung tich tren 200 ");
}
}
public void sapXepDS() {
Collections.sort(listTL, new Comparator<TULANH>() {
@Override
public int compare(TULANH t1, TULANH t2) {
if(t1.soLuong< t2.soLuong) {
return 1;
}
else if(t1.soLuong == t2.soLuong) {
return 0;
}
else {
return -1;
}
}
});
System.out.print("\nDanh sach sau khi sap xep giam dan so luong: ");
System.out.printf("\n%20s%15s%20s%10s%15s%15s%10s%20s%20s",
"Mat hang", "ma hang", "nuoc SX", "dung Tich", "mau Sac", "hang SX", "so Luong", "don Gia", "thanh tien");
for(TULANH tl:listTL) {
tl.xuatTL();
}
}
}

Tạo Class bai10.java để gọi hàm main()

code xem ở phần code đầy đủ

Kết quả test


COMMENTS

BLOGGER
Tên

bài viết hay,4,Bài viết khác,1,cấu trúc dữ liệu và giải thuật,3,fithou,36,ghim,4,giải tích 2,1,Hướng dẫn,5,Lập trình C,1,lập trình hướng đối tượng,3,Lập trình java,1,phần mềm,2,phần mềm lập trình,2,sách,1,tác phẩm đồ họa,3,tản mạn,4,Thiết kế web,3,thực hành lập trình cơ sở,18,thực hành lập trình hướng đối tượng,16,
ltr
item
Blog NDanh: Bài 10 - Bài tập quản lý tủ lạnh với thao tác nhập, xuất, sắp xếp,... bằng ArrayList trong Java
Bài 10 - Bài tập quản lý tủ lạnh với thao tác nhập, xuất, sắp xếp,... bằng ArrayList trong Java
Bài 10 với bài toán quản lý tủ lạnh với arraylist. Click để xem chi tiết!
https://1.bp.blogspot.com/-ucBZz0IHMlo/XuWFkXatNYI/AAAAAAAAg30/RyFU11x2hYcHmqFURVYhQykOtH2dx85UQCK4BGAsYHg/d/banner-blog.png
https://1.bp.blogspot.com/-ucBZz0IHMlo/XuWFkXatNYI/AAAAAAAAg30/RyFU11x2hYcHmqFURVYhQykOtH2dx85UQCK4BGAsYHg/s72-c-d/banner-blog.png
Blog NDanh
https://blog.ndanh.com/2020/03/bai-10-bai-tap-quan-ly-tu-lanh-voi-arraylist-trong-java.html
https://blog.ndanh.com/
https://blog.ndanh.com/
https://blog.ndanh.com/2020/03/bai-10-bai-tap-quan-ly-tu-lanh-voi-arraylist-trong-java.html
true
1596452775547375681
UTF-8
Tải tất cả bài viết Không tìm thấy bài viết nào XEM TẤT CẢ Đọc thêm Trả lời Hủy trả lời Xóa Bởi Trang chủ PAGES POSTS Xem tất cả Bài viết đề xuất CHỦ ĐỀ LƯU TRỮ SEARCH TẤT CẢ BÀI VIẾT Không tìm thấy nội dung của bạn Quay về trang chủ Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow CHIA SẺ ĐỂ XEM NỘI DUNG Bước 1: Chia sẻ lên facebook chế độ công khai Bước 2: Vào facebook, ấn vào bài đã chia sẻ công khai để hiện nội dung! Click Copy All Code Select All Code Code của bạn đã được copy Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy Table of Content