Doko Ticona

Generation

generate functionWed, 26 Mar 2025

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.

Want to kickstart your project?Use the new AI Studio to create your code