Untitled
unknown
plain_text
a year ago
7.4 kB
8
Indexable
import java.util.*; // Toaster class represents a toaster item in the inventory class Toaster extends InventoryItem { public Toaster() { super("toasters"); setModels(Arrays.asList("T1", "T2"), Arrays.asList(9, 4)); // Toplamda 7 toasters, 3 T1 ve 4 T2 } } // Grill class represents a grill item in the inventory class Grill extends InventoryItem { public Grill() { super("grills"); setModels(Arrays.asList("G1", "G2"), Arrays.asList(3, 5)); // Toplamda 7 grills, 2 G1 ve 5 G2 } } // Microwave class represents a microwave item in the inventory class Microwave extends InventoryItem { public Microwave() { super("microwaves"); setModels(Arrays.asList("M1", "M2"), Arrays.asList(5, 3)); // Toplamda 7 microwaves, 4 M1 ve 3 M2 } } // Blender class represents a blender item in the inventory class Blender extends InventoryItem { public Blender() { super("blenders"); setModels(Arrays.asList("B1", "B2"), Arrays.asList(5, 2)); // Toplamda 7 blenders, 5 B1 ve 2 B2 } } // Mixer class represents a mixer item in the inventory class Mixer extends InventoryItem { public Mixer() { super("mixers"); setModels(Arrays.asList("MX1", "MX2"), Arrays.asList(12, 4)); // Toplamda 7 mixers, 3 MX1 ve 4 MX2 } } // PressureCooker class represents a pressure cooker item in the inventory class PressureCooker extends InventoryItem { public PressureCooker() { super("pressure cookers"); setModels(Arrays.asList("PC1", "PC2"), Arrays.asList(4, 11)); // Toplamda 7 pressure cookers, 4 PC1 ve 3 PC2 } } // CoffeeMaker class represents a coffee maker item in the inventory class CoffeeMaker extends InventoryItem { public CoffeeMaker() { super("coffee makers"); setModels(Arrays.asList("CM1", "CM2"), Arrays.asList(4, 5)); // Toplamda 7 coffee makers, 2 CM1 ve 5 CM2 } } // Juicer class represents a juicer item in the inventory class Juicer extends InventoryItem { public Juicer() { super("juicers"); setModels(Arrays.asList("J1", "J2"), Arrays.asList(5, 6)); // Toplamda 7 juicers, 5 J1 ve 2 J2 } } // FoodProcessor class represents a food processor item in the inventory class FoodProcessor extends InventoryItem { public FoodProcessor() { super("food processors"); setModels(Arrays.asList("FP1", "FP2"), Arrays.asList(2, 4)); // Toplamda 7 food processors, 3 FP1 ve 4 FP2 } } // RiceCooker class represents a rice cooker item in the inventory class RiceCooker extends InventoryItem { public RiceCooker() { super("rice cookers"); setModels(Arrays.asList("RC1", "RC2"), Arrays.asList(4, 7)); // Toplamda 7 rice cookers, 4 RC1 ve 3 RC2 } } // InventoryItem class represents an item in the inventory class InventoryItem { private String name; private Map<String, Integer> modelQuantities; public InventoryItem(String name) { this.name = name; this.modelQuantities = new HashMap<>(); } public void setModels(List<String> models, List<Integer> quantities) { for (int i = 0; i < models.size(); i++) { modelQuantities.put(models.get(i), quantities.get(i)); } } public Map<String, Integer> getModelQuantities() { return modelQuantities; } public String getName() { return name; } } // InventorySubsystem class manages the inventory items class InventorySubsystem { private List<InventoryItem> items; public InventorySubsystem() { this.items = new ArrayList<>(); } public void addItem(InventoryItem item) { items.add(item); } public InventoryItem getItem(String name) { for (InventoryItem item : items) { if (item.getName().equals(name)) { return item; } } return null; } public void addModel(String name, String model, int quantity) { for (InventoryItem item : items) { if (item.getName().equals(name)) { Map<String, Integer> modelQuantities = item.getModelQuantities(); if (modelQuantities.containsKey(model)) { modelQuantities.put(model, modelQuantities.get(model) + quantity); } else { System.out.println("Model " + model + " is not available for " + name); } return; } } System.out.println("Item " + name + " not found"); } public String getItemInfo(String name, String model) { for (InventoryItem item : items) { if (item.getName().equals(name)) { Map<String, Integer> modelQuantities = item.getModelQuantities(); if (modelQuantities.containsKey(model)) { return "We have " + modelQuantities.get(model) + " " + name + ", model " + model + " in inventory"; } else { return "Model " + model + " is not available for " + name; } } } return "Item not found"; } public List<String> getItemNames() { List<String> names = new ArrayList<>(); for (InventoryItem item : items) { names.add(item.getName()); } return names; } } // Client class interacts with the inventory subsystem public class Client { public static void main(String[] args) { InventorySubsystem subsystem = new InventorySubsystem(); // Adding sample items subsystem.addItem(new Toaster()); subsystem.addItem(new Grill()); subsystem.addItem(new Microwave()); subsystem.addItem(new Blender()); subsystem.addItem(new Mixer()); subsystem.addItem(new PressureCooker()); subsystem.addItem(new CoffeeMaker()); subsystem.addItem(new Juicer()); subsystem.addItem(new FoodProcessor()); subsystem.addItem(new RiceCooker()); Scanner scanner = new Scanner(System.in); System.out.println("Welcome to the Inventory System!"); boolean quit = false; while (!quit) { System.out.println("Select from the following items: " + subsystem.getItemNames()); System.out.print("Enter item name (or type 'quit' to exit): "); String itemName = scanner.nextLine(); if (itemName.equalsIgnoreCase("quit")) { quit = true; continue; } InventoryItem item = subsystem.getItem(itemName); if (item != null) { Map<String, Integer> modelQuantities = item.getModelQuantities(); System.out.println("We have a fabulous selection of " + itemName + ", available models: " + modelQuantities.keySet()); System.out.print("Enter model number: "); String model = scanner.nextLine(); System.out.println(subsystem.getItemInfo(itemName, model)); } else { System.out.println("Invalid item name!"); } } scanner.close(); } }
Editor is loading...
Leave a Comment