Ôn tập: Quản lý kho hàng
Thuộc phần Logic và luồng chương trình trong hành trình Java của Coddy. Bài học 20 trên 59.
Thử thách
DễTạo một phương thức có tên manageWarehouse nhận hai đối số:
- Một HashMap có tên
warehousetrong đó:- Các khóa biểu thị tên sản phẩm (
String). - Các giá trị biểu thị số lượng (
Integer).
- Các khóa biểu thị tên sản phẩm (
- Một danh sách thao tác (
String[] operations), trong đó mỗi chuỗi tuân theo một trong các định dạng sau:"ADD product quantity"→ Cộng số lượng đã cho vào sản phẩm hiện có (hoặc tạo sản phẩm nếu chưa có)."REMOVE product quantity"→ Giảm số lượng của sản phẩm. Nếu số lượng trở thành 0 hoặc âm, hãy xóa sản phẩm."CHECK product"→ In ratruenếu sản phẩm tồn tại, nếu không thì in rafalse."PRINT"→ In ra tất cả sản phẩm và số lượng của chúng theo định dạng:Product: Laptop, Quantity: 10 Product: Mouse, Quantity: 50
Để chuyển một String thành một Integer, ta dùng:
String quantityString = "25";
int quantity = Integer.valueOf(quantityString);
System.out.println(quantity + 5); // Output: 30Integer.valueOf() đảm bảo ta nhận được một số nguyên có thể dùng trong các phép tính.
Tự làm thử
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
public class Main {
public static void manageWarehouse(HashMap<String, Integer> warehouse, String[] operations) {
// Viết code của bạn ở đây
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String warehouseString = scanner.nextLine();
String operationsString = scanner.nextLine();
// Chuyển chuỗi JSON thành HashMap
Type mapType = new TypeToken<HashMap<String, Integer>>(){}.getType();
HashMap<String, Integer> warehouse = new Gson().fromJson(warehouseString, mapType);
// Chuyển chuỗi JSON thành mảng (array)
String[] operations = new Gson().fromJson(operationsString, String[].class);
manageWarehouse(warehouse, operations);
}
}Tất cả bài học trong Logic và luồng chương trình
1Mảng đa chiều
Kiến thức cơ bản về mảng 2DTruy cập phần tử trong mảng 2DVòng lặp lồng nhau với mảng 2DÔn tập về mảng 2DPhép cộng và phép trừ ma trậnMảng không đềuMảng 3D trở lênCác mẫu thường gặp với mảng 2DÔn tập về mảng2HashMap phần 1
HashMap là gì?Khai báo HashMapTruy cập giá trịKiểm tra khóa có tồn tạiChỉnh sửa từ điểnÔn tập: HashMap3HashMap phần 2
Phương thức của HashMapDuyệt bằng keySet()Duyệt bằng entrySet()HashMap lồng nhauÔn tập: Quản lý kho hàngÔn tập: Thao tác với HashMap6Luồng điều khiển nâng cao
Câu lệnh nhãnBiểu thức switchSo khớp mẫuMệnh đề bảo vệÔn tập: luồng điều khiểnTự luyện tập: Trình biên dịch Java online