Genera un código en base a la siguiente información: Poder ingresar el ID de un equipo; que tenga letras y números. Realizar la Descripción del equipo, que de error si se digita números y volver a intentarlo. Ingresar el Año de compra del equipo; que de error si se ingresa un numero menor o igual a 0 y volver a intentarlo. Operación por realizar: Una vez registrada la información, se debe calcular la cantidad de años de depreciación, si es mayor a 2 años, se debe indicar que el equipo no cuenta con garantía vigente, si es menor a 2 años, se debe indicar que cuenta con garantía.
Aquí te muestro un ejemplo de código en Java que cumple con las especificaciones que me proporcionaste: ```java import java.util.InputMismatchException; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("Ingrese el ID del equipo:"); String idEquipo = scanner.nextLine(); String descripcionEquipo = obtenerDescripcionEquipo(scanner); int añoCompra = obtenerAñoCompra(scanner); int añosDepreciacion = calcularAñosDepreciacion(añoCompra); System.out.println("ID del equipo: " + idEquipo); System.out.println("Descripción del equipo: " + descripcionEquipo); System.out.println("Año de compra: " + añoCompra); System.out.println("Años de depreciación: " + añosDepreciacion); if (añosDepreciacion > 2) { System.out.println("El equipo no cuenta con garantía vigente."); } else { System.out.println("El equipo cuenta con garantía."); } } private static String obtenerDescripcionEquipo(Scanner scanner) { while (true) { System.out.println("Ingrese la descripción del equipo:"); String descripcion = scanner.nextLine(); if (descripcion.matches("^[a-zA-Z ]+$")) { return descripcion; } else { System.out.println("Error: La descripción del equipo solo puede contener letras."); } } } private static int obtenerAñoCompra(Scanner scanner) { while (true) { try { System.out.println("Ingrese el año de compra del equipo:"); int año = scanner.nextInt(); scanner.nextLine(); // Limpiar el buffer if (año > 0) { return año; } else { System.out.println("Error: El año de compra debe ser mayor a 0."); } } catch (InputMismatchException e) { System.out.println("Error: El año de compra debe ser un número."); scanner.nextLine(); // Limpiar el buffer } } } private static int calcularAñosDepreciacion(int añoCompra) { int añosActual = 2024; // Año actual return añosActual - añoCompra; } } ``` Este código utiliza un `Scanner` para leer la entrada del usuario y realizar las validaciones correspondientes. La función `obtenerDescripcionEquipo` utiliza una expresión regular para verificar que la descripción del equipo solo contenga letras. La función `obtenerAñoCompra` utiliza un `try-catch` para verificar que el año de compra sea un número mayor a 0. La función `calcularAñosDepreciacion` calcula la cantidad de años de depreciación restantes.