Hola, bienvenidos a este nuevo video. Nos quedamos entonces en la programación del caso "termina transmisión". Primero, tenemos que localizar la transmisión que queremos terminar. Para esto, tenemos que mostrar el disco y las transmisiones que tiene activas ese disco. Para ello, le pedimos al usuario que elija el disco cuya transmisión se desea terminar, procedemos a mostrarle al usuario el disco con todas sus transmisiones. Usaremos el método que muestra discos activos, recibe como parámetro el encabezado llamado "Discos con transmisiones abiertas", esa será la llamada al método. Regresa una cadena, por lo tanto, la imprimimos. Aquí, tenemos el paréntesis que abre el "print line" y, aquí, el que lo cierra. Ya que le mostramos al usuario las transmisiones activas, le pedimos que nos diga cuál disco quiere elegir. Ya tenemos la variable "cualDisco", le vamos a asignar el resultado de nuestro método "pideNum", lo pedimos en la consola. "Pide Num" se encarga de darle los márgenes en los que puede elegir el disco, y le colocamos los límites, el mínimo es "cero" y el máximo es "numDiscos -1". Una vez que el usuario nos teclea el entero, verificamos que sea válido. Para hacerlo, preguntamos si el resultado que nos entregó "pideNum" es igual a "menos uno". Si es así, quiere decir que no es válido el número y haremos dos cosas, darle un mensaje al usuario de que el número no es válido y saldremos de la iteración para volver a pedirlo. El disco que nos dieron es incorrecto, entonces, vamos a imprimirle el mensaje del disco que nos dio, que es "cualDisco", le decimos que no existe. Ahora, salimos de este caso y termina la opción de si el "if" es verdadero. Solo verificamos que el disco elegido esté en el catálogo, pero no verificamos que tenga transmisiones activas. Entonces, preguntamos si el disco elegido, que es un número válido para el catálogo, y preguntamos por su número de transmisiones activas. Si este número es menor o igual a "cero", quiere decir que no tiene transmisiones activas. Nuevamente, hacemos dos cosas. Imprimimos el mensaje avisándole al usuario que se equivocó, diciéndole que el disco que eligió no tiene transmisiones activas. Una vez que le dimos al usuario un mensaje adecuado, salimos de la opción y cerramos el "if". Si es falso, seguimos adelante. Por lo tanto, cuando estamos aquí, el disco es correcto, en cuanto a que tiene transmisiones activas, pero falta dar de baja la transmisión. Tenemos el método "termina transmisión" que, si le damos "cualDisco" y una consola en la que pide el dato, va a mostrar las transmisiones activas. Es un método "booleano", entonces podemos preguntar con un "if" si el método es correcto. Si nos regresa "verdadero", lo que hacemos es decirle que la transmisión se terminó y, si regresa "falso", le escribimos de que no se pudo regresar la eliminación. En ambos casos, esto es todo lo que vamos a hacer. No le pusimos llave, porque ya manejamos el caso para falso verdadero. Regresa si pudo terminar o no la transmisión, si pudo terminarla, le pedirá al disco que termine su transmisión. Pasamos ahora a la opción de "muestra disco". Le mostramos al usuario todos los discos que tiene el catálogo con el método "muestraCatalogo". Le colocamos como título al listado que nos va a entregar "Discos disponibles en el catálogo". Como este método regresa una cadena, imprimimos esa cadena y el usuario va a ver todos los métodos disponibles en el catálogo. Usamos la variable "cualDisco" usando el método "pideNum", cuyo primer parámetro es el escáner que declaramos. El segundo es una cadena, el encabezado del listado. El tercer parámetro es "cero", que es el número mínimo y el parámetro máximo es "Numdiscos -1". Una vez que funciona "pideNum", el cual nos regresa "menos uno", si el número de disco es inválido, por lo tanto, verificamos si el número de disco es inválido. Si el número de disco es "menos uno", no podemos trabajar con él. Abrimos un bloque porque vamos a darle un mensaje al usuario de que su número elegido estuvo mal y vamos a salir del "switch" para regresar a que elija otra opción el usuario. Pero si el número elegido no es "menos uno", entonces sigamos dentro de esta opción. Nos movemos al principio del método donde tenemos todas nuestras declaraciones, vamos a declarar una variable de tipo "disco" que sea "el disco elegido". Eso lo haremos para no tener que estar usando catálogo con el índice "cualDisco". Volvemos a nuestra programación de muestra "un disco". Lo que haremos es que el disco, que es de tipo "disco", le asignamos "el disco elegido" por usuario, ya que sabemos que el disco elegido es correcto. Podría ser que el número de disco es correcto, pero ese disco no exista. Entonces, preguntamos si disco es "null", entonces, el disco no existe. Escribimos un mensaje en la pantalla y a salir de la condicional, por eso tenemos un bloque que empieza con una llave. Decimos que ese disco no existe. A continuación, salimos del método y cerramos el bloque del "if". Si ya libramos todas estas verificaciones, quiere decir que el disco existe, que es válido. Le pedimos al disco que se muestre y le damos un título con el que se va a mostrar. Le decimos cuál es el disco que elegimos, cerramos los corchetes y le ponemos "Disco". Con esto, cerramos la llamada a "muestra disco". Como "muestra disco" regresa una cadena, la podemos escribir con "System.out.println", y cerramos aquí abajo el "print line". La siguiente opción es "muestra historia", la cual muestra las transmisiones iniciadas y terminadas. "Muestra historia" solo muestra la historia de un disco, por lo tanto, debemos hacer algo parecido a "muestra_undisco". Le pedimos al usuario que elija un disco, copiamos de la opción anterior y lo pegamos a continuación de "muestra historia". Si llegamos aquí, quiere decir que el disco es válido y que podemos proceder a mostrar su historia. Aquí preguntamos si tiene historia con una condicional. Si el número de historia de "cual Disco" es igual a "cero", quiere decir que no tiene ninguna historia. Abrimos un bloque para escribirle al usuario que se equivocó, colocamos el disco, abrimos un corchete, "cual Disco", cerramos el corchete y decimos que este disco no tiene historia, y salimos de la opción. Si hasta el momento, no ha habido ningún error, ni en el número de disco elegido ni en el disco que tenga una historia, llamamos al método "muestra Hist", le pasamos como parámetro "cual Disco", que es un disco correcto. De todos modos, el método va a verificar que exista una historia. Pero la siguiente opción nos regresa una cadena con la historia, por lo que haremos es imprimir lo que nos regresue el método. Terminamos el "print line" y salimos del método. Este método muestra las historias de todos los discos que la tengan. Como ya programamos el método "muestra Historias", lo que tenemos que hacer es llamar a "muestra Historias", que no tiene ningún parámetro. Como regresa a una cadena, lo colocamos dentro de un "System.out.println". Terminamos el "print line", salimos del método. El "default" es en el caso de que no hayan dado un número de opción válida. Esto no nos puede pasar porque estuvimos verificando que el número fuera válido. Aquí, simplemente, diremos que la opción que eligió no está implementada. Como esta es la última etiqueta del "switch", ya no tenemos que hacer nada más. Con esto terminamos el "switch" y, si no se eligió la opción salir, va a regresar al primer punto del "switch". El método termina y sale cuando se deja de iterar en el "while", porque la llave que cierra el método está inmediatamente después. Ponemos acá el comentario de cuál es el método que está terminando. Ha llegado el momento de probar nuestra clase. Ya habíamos probado algunos de los métodos usando el método "main", vamos a probar que todo compila bien. Aquí me dice que me faltó ponerle el "más", entonces no está reconociendo que termina esta cadena. Compilamos y todo funciona bien. Ya tenemos toda la clase terminada. Nos falta, ahora, probar que esa clase funciona. En el próximo video programaremos nuestro método "main". Te esperamos.