Clase Televisor con posibles canales entre 1 y 99
Aquí te muestro un ejemplo de cómo podrías implementar la clase `Televisor` en Java: ```java public class Televisor { private int canalActual; private int[] canalesDisponibles; /** * Constructor de la clase Televisor. * * @param cantidadDeCanales El número de canales disponibles en el televisor. */ public Televisor(int cantidadDeCanales) { if (cantidadDeCanales < 1 || cantidadDeCanales > 99) { throw new IllegalArgumentException("La cantidad de canales debe estar entre 1 y 99."); } this.canalesDisponibles = new int[cantidadDeCanales]; for (int i = 0; i < cantidadDeCanales; i++) { this.canalesDisponibles[i] = i + 1; } this.canalActual = 1; } /** * Establece el canal actual del televisor. * * @param canal El número del canal que se desea establecer. * @throws IllegalArgumentException Si el canal no está disponible. */ public void establecerCanal(int canal) { if (canal < 1 || canal > 99) { throw new IllegalArgumentException("El canal debe estar entre 1 y 99."); } if (!this.canalesDisponibles[canal - 1] == canal) { throw new IllegalArgumentException("El canal no está disponible."); } this.canalActual = canal; } /** * Cambia el canal actual del televisor a la siguiente o a la anterior. * * @param direccion La dirección en la que se desea cambiar el canal (1 para adelante, -1 para atrás). * @throws IllegalArgumentException Si el canal no está disponible. */ public void cambiarCanal(int direccion) { if (direccion < -1 || direccion > 1) { throw new IllegalArgumentException("La dirección debe ser 1 (adelante) o -1 (atras)."); } int nuevoCanal = this.canalActual + direccion; if (nuevoCanal < 1 || nuevoCanal > 99) { throw new IllegalArgumentException("El canal no está disponible."); } this.establecerCanal(nuevoCanal); } /** * Obtiene el canal actual del televisor. * * @return El número del canal actual. */ public int getCanalActual() { return this.canalActual; } public static void main(String[] args) { Televisor televisor = new Televisor(10); System.out.println("Canal actual: " + televisor.getCanalActual()); televisor.establecerCanal(5); System.out.println("Canal actual: " + televisor.getCanalActual()); televisor.cambiarCanal(1); System.out.println("Canal actual: " + televisor.getCanalActual()); } } ``` En este ejemplo, la clase `Televisor` tiene los siguientes métodos: * `establecerCanal(int canal)`: Establece el canal actual del televisor. * `cambiarCanal(int direccion)`: Cambia el canal actual del televisor a la siguiente o a la anterior. * `getCanalActual()`: Obtiene el canal actual del televisor. La clase también tiene un constructor que inicializa el televisor con un número determinado de canales disponibles.