Untitled
unknown
plain_text
2 years ago
7.4 kB
11
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