tienda de pantalones con los 2 primeros pilares de la poo que es encapsulamiendo pero no es herencia ni polimorfismo aa y quiero que tenga en la clase pantalon marca talla cinturaAjustable precio tipo y en la clase tienda el main el menu la venta y el ticket
Aquí te muestro un ejemplo de cómo podrías implementar una tienda de pantalones con los dos primeros pilares de la POO (Encapsulamiento y Abstracción) en Java: **Pantalon.java** ```java public class Pantalon { private String marca; private String talla; private double cintura; private boolean ajustable; private double precio; private String tipo; // Constructor public Pantalon(String marca, String talla, double cintura, boolean ajustable, double precio, String tipo) { this.marca = marca; this.talla = talla; this.cintura = cintura; this.ajustable = ajustable; this.precio = precio; this.tipo = tipo; } // Getters y setters public String getMarca() { return marca; } public void setMarca(String marca) { this.marca = marca; } public String getTalla() { return talla; } public void setTalla(String talla) { this.talla = talla; } public double getCintura() { return cintura; } public void setCintura(double cintura) { this.cintura = cintura; } public boolean isAjustable() { return ajustable; } public void setAjustable(boolean ajustable) { this.ajustable = ajustable; } public double getPrecio() { return precio; } public void setPrecio(double precio) { this.precio = precio; } public String getTipo() { return tipo; } public void setTipo(String tipo) { this.tipo = tipo; } // Método para mostrar información del pantalón public void mostrarInformacion() { System.out.println("Marca: " + marca); System.out.println("Talla: " + talla); System.out.println("Cintura: " + cintura + " cm"); System.out.println("Ajustable: " + (ajustable ? "Sí" : "No")); System.out.println("Precio: $" + precio); System.out.println("Tipo: " + tipo); } } ``` **Tienda.java** ```java import java.util.ArrayList; import java.util.Scanner; public class Tienda { private ArrayList<Pantalon> pantalones; private Scanner scanner; // Constructor public Tienda() { pantalones = new ArrayList<>(); scanner = new Scanner(System.in); } // Método para agregar un pantalón a la tienda public void agregarPantalón() { System.out.println("Ingrese la marca del pantalón:"); String marca = scanner.nextLine(); System.out.println("Ingrese la talla del pantalón:"); String talla = scanner.nextLine(); System.out.println("Ingrese la cintura del pantalón (en cm):"); double cintura = Double.parseDouble(scanner.nextLine()); System.out.println("¿Es ajustable el pantalón? (S/N)"); boolean ajustable = scanner.nextLine().equalsIgnoreCase("S"); System.out.println("Ingrese el precio del pantalón:"); double precio = Double.parseDouble(scanner.nextLine()); System.out.println("Ingrese el tipo del pantalón:"); String tipo = scanner.nextLine(); Pantalon pantalón = new Pantalon(marca, talla, cintura, ajustable, precio, tipo); pantalones.add(pantalón); System.out.println("Pantalón agregado con éxito."); } // Método para mostrar el menú de la tienda public void mostrarMenú() { System.out.println("Menú de la tienda:"); System.out.println("1. Agregar pantalón"); System.out.println("2. Vender pantalón"); System.out.println("3. Mostrar ticket"); System.out.println("4. Salir"); } // Método para vender un pantalón public void venderPantalón() { if (pantalones.isEmpty()) { System.out.println("No hay pantalones disponibles para vender."); return; } System.out.println("Pantalones disponibles:"); for (int i = 0; i < pantalones.size(); i++) { System.out.println((i + 1) + ". " + pantalones.get(i).getMarca() + " - " + pantalones.get(i).getTalla()); } System.out.println("Ingrese el número del pantalón que desea vender:"); int indice = Integer.parseInt(scanner.nextLine()) - 1; if (indice < 0 || indice >= pantalones.size()) { System.out.println("Pantalón no encontrado."); return; } Pantalon pantalón = pantalones.get(indice); System.out.println("¿Desea vender el pantalón a $" + pantalón.getPrecio() + "? (S/N)"); if (scanner.nextLine().equalsIgnoreCase("S")) { System.out.println("Pantalón vendido con éxito."); pantalones.remove(indice); } else { System.out.println("Venta cancelada."); } } // Método para mostrar el ticket public void mostrarTicket() { if (pantalones.isEmpty()) { System.out.println("No hay pantalones para mostrar en el ticket."); return; } System.out.println("Ticket:"); for (Pantalon pantalón : pantalones) { pantalón.mostrarInformacion(); System.out.println(); } } // Método principal public void main() { while (true) { mostrarMenú(); System.out.println("Ingrese su opción:"); int opción = Integer.parseInt(scanner.nextLine()); switch (opción) { case 1: agregarPantalón(); break; case 2: venderPantalón(); break; case 3: mostrarTicket(); break; case 4: System.out.println("Adiós."); return; default: System.out.println("Opción inválida. Por favor, inténtelo de nuevo."); } } } public static void main(String[] args) { Tienda tienda = new Tienda(); tienda.main(); } } ``` Este código crea una tienda de pantalones con los siguientes métodos: * `agregarPantalón()`: Agrega un pantalón a la tienda. * `mostrarMenú()`: Muestra el menú de la tienda. * `venderPantalón()`: Vende un pantalón. * `mostrarTicket()`: Muestra el ticket con los pantalones disponibles. * `main()`: Es el método principal que ejecuta la tienda. La tienda utiliza una lista de pantalones para almacenar los pantalones disponibles. Cada pantalón tiene los siguientes atributos: * `marca`: La marca del pantalón. * `talla`: La talla del pantalón. * `cintura`: La cintura del pantalón (en cm). * `ajustable`: Si el pantalón es ajustable. * `precio`: El precio del pantalón. * `tipo`: El tipo del pantalón. La tienda utiliza un scanner para leer la entrada del usuario y un switch para manejar las opciones del menú.