No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Aprende todo un fin de semana sin pagar una suscripci贸n 馃敟

Aprende todo un fin de semana sin pagar una suscripci贸n 馃敟

Reg铆strate

Comienza en:

0D
17H
43M
0S
Curso de Introducci贸n a Java SE

Curso de Introducci贸n a Java SE

Anah铆 Salgado D铆az de la Vega

Anah铆 Salgado D铆az de la Vega

Operador Ternario y Bucle While

32/39
Recursos

Vamos a crear el algoritmo con la l贸gica necesaria para encender una lampara, emitir un mensaje y detener las luces en alg煤n momento.

El Bucle While nos ayuda a ejecutar una parte del c贸digo mientras una condici贸n se cumpla. Recuerda tener mucho cuidado y asegurarte de que la condici贸n del ciclo while cambie en alg煤n momento, de otra forma, el ciclo no se detendr谩 nunca y sobrecargar谩s tu programa:

while (isTurnOnLight) {
  printSOS();
}

Los operadores ternarios son otra forma de evaluar condiciones, as铆 como los condicionales IF y ELSE`:

// Operador Ternario:
isTurnOnLight = (isTurnOnLight) ? false : true;

// IF y ELSE:
if (isTurnOnLight) {
  isTurnOnLight = false;
} else {
  isTurnOnLight = true;  
}

Aportes 88

Preguntas 14

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

Hola Anncode, pregunto, puedo yo simplemente escribir

return (isTurnOnLight) ? false : true;

para retornar en la funci贸n?

Un ejemplo de Operador Ternario
String TipoVehiculo = (NumRuedas>2)? 鈥淎uto鈥 : 鈥淢oto鈥;

隆Hola!
Estuve practicando un rato con el operador ternario, y realice una comparaci贸n de las lineas de c贸digo que nos ahorramos usando este operador.

//Operador Ternario

int age = 19;
int ageMax = 18;

boolean ageVerificationT = age >= ageMax ? true:false;

System.out.println(ageVerificationT);
//Sentencia If Else
int age = 19;
int ageMax = 18;
boolean ageI;

if (age >= ageMax){
            ageI = true;
            System.out.println(ageI);
        }else{
            ageI = false;
            System.out.println(ageI);
        }

隆Saludos!

le agregu茅 el sonido, para darle el efecto de la se帽al.

En el m茅todo para encender y apagar la lampara se puede simplificar a negar el atributo:

public static boolean turnOnOffLight(){
return !isTurnOnLight;
}

Sint谩xis del operador ternario:

condicion ? valor_si_se_cumple : valor_si_no_se_cumple

Practica

馃搶 Un operador ternario tambi茅n es conocido como operador terciario, aunque no es correcto.

Necesite pensarlo varias veces para entender la logica. Para los que como yo鈥 Les dejo mi apuntes

public class While {
    static boolean luzEstaPrendida = false; //le decimos que esta apagada al comienzo

    public static void main(String[] args) {

        prenderApagar();
        int intentos = 1;


        // si la apagamos, no ejecuta (se ejecuta despues del boolean prenderApagar) 
        // si la prendemos, ejecuta
        while (luzEstaPrendida  && intentos <= 10) {  
            hacerSOS();
            intentos++;
        }
    }

    public static void hacerSOS(){
        System.out.println("...___...");
    }

    public static boolean prenderApagar(){
        if (luzEstaPrendida){ // Si empiesa prendida -> arriba dice true
            luzEstaPrendida = false; // false le dice que se apague
            System.out.println("La apagamos");

        }else {
            luzEstaPrendida = true; // Si empiesa apagada -> arriba dice false
            // true le dice que se prenda
            System.out.println("La prendimos");

        }
        return luzEstaPrendida; // me regresa e valor si la apague o la prendi

    }
}

Tuve un derrame cerebral pero al final lo entendi gracias =D

Para cambiar el valor de forma m谩s f谩cil pueden usar el operador NOT (!)... As铆 s贸lo habr铆a q escribir isTurnOnLight = !isTurnOnLight
public class While {

    static boolean isTurnOnLight = false;

    public static void main(String[] args) {

        turnOnOffLight();

        int aux=0;
        while (isTurnOnLight&&aux<=10){
            printSOS();
            aux++;
        }

    }
    
    /**
     * Descripci贸n: imprime el mensaje sos
     * */
    public static void printSOS(){
        System.out.println(". . . _ _ _ . . .");
    }
    /**
     * Descripcion: mediante un operador ternera decide el valor de isTurnOnLight
     * @return regresa verdadero o falso seg煤n sea el caso.
     * */
    public static boolean turnOnOffLight(){
       isTurnOnLight = (isTurnOnLight)?false:true;
       return isTurnOnLight;
    }
}

la se帽al de S.O.S. escrita es 路路路/鈥/路路路
en morse cada xletra se separa con un slash y se le deja el espacio .para separar cada palabra

Visto en clase

import java.util.Scanner;
public class Main {
    static boolean isTurnOnLight ;
    public static void main(String[] args) {
        int NivelBateria = 10;
        Scanner teclado = new Scanner(System.in);
        System.out.println("La lampara esta prendida");
        String Valor = teclado.nextLine();
        boolean valor;
        //Ocupamos el operador Terniario
        valor = (Valor.equals("si") || Valor.equals("SI") || Valor.equals("Si"))? true: false;
        /*
        if(Valor.equals("true")){
            valor = true;
        }else {
            valor = false;
        }
         */
        //llamamaos a la funcion
        turnOnOffLight(valor);
        if(isTurnOnLight){
            do{
                printSOS();
                NivelBateria--;
            }while (NivelBateria != 0);
            TipoDato(Valor,valor);
        }
    }
    //Creamos una funcion para validar si la lampara del movil esta prendia o apagada
    public static boolean turnOnOffLight (boolean valor) {
        //
        return isTurnOnLight = (isTurnOnLight)?false:true;
    }
    //Creamos una funcion para imprimir el mensaje en pantalla
    public static void printSOS() {
        System.out.println(". . . _ _ _ . . .");
    }

    public static void TipoDato(String Valor,boolean valor) {
        System.out.println("\nEl dato " + Valor + " es de tipo " + ((Object)Valor).getClass().getSimpleName() +
                "\nEl tipo de dato " + valor + " es de tipo " + ((Object)valor).getClass().getSimpleName());
    }
}

La estructura del operador ternario ?: es la siguiente: resultado = (condicion)? valor1:valor2; Donde a la variable resultado recibir谩 el valor1 en el caso de que la condici贸n sea true o bien el valor2 en el caso de que la condici贸n sea false.

Me encanta como ense帽a annCode. Hu铆 de aprender Java por a帽os pero ahora lo estoy disfrutando

No lo segu铆 al pie de la letra, pero esta es mi pr谩ctica:

public class PracticeBoolean {

    static boolean lampStatus = true;

    public static void printSos(){
        System.out.println("... ___ ...");
    }

    public static void checkLampStatus(){
        lampStatus = (lampStatus)?true:false;
    }

    public static void main(String [] args){
        int i = 1;
        while(lampStatus && i <= 10){
            checkLampStatus();
            printSos();
            i++;
        }
    }
}

Estuve experimentando un poco, y tambi茅n pude lograr
llegar a esta soluci贸n:

public class PracticeBoolean {

    static boolean lampStatus = true;

    public static void checkLampStatus(){
        if (lampStatus){
            System.out.println("... ___ ...");
        }
    }

    public static void main(String [] args){
        int i = 1;
        while(lampStatus && i <= 10){
            checkLampStatus();
            i++;
        }
    }
}

Soy a煤n muy inexperto, y en esta 煤ltima pr谩ctica omito el operador terneario. Ustedes qu茅 opinan?

Simplificando el c贸digo

    public static boolean turnOnOffLight() {
        return isTurnOnLight = !isTurnOnLight;
    }


Una forma de simplificar la funci贸n turnOnOffLight():

public static boolean turnOnOffLight() {
        return isTurnOnLight = !isTurnOnLight;
    }

De esta forma estamos cambiando su valor y tambi茅n obtenemos el nuevo valor

excelente鈥 no sabia lo del operador ternario en Java鈥 me viene de 10 actualizarme

Siento que la experiencia sobre lo pasado en M茅xico le trajo algunos recuerdos鈥 Es una de mis profesoras preferidas鈥!!

Si se comenta o elimina la funci贸n turnOnOffLight el c贸digo sigue funcionando sin problema jaja

Es genial lo del operador terceario, no lo conocia. Cuando usaba una condici贸n if y en ella tenia que asignarle un valor distinto a la misma variable siempre pensaba si se podria hacer de otra forma.

Mi co贸digo de la clase:

A mi condici贸n de salida del While Loop le puse un n煤mero aleatorio. Para esto se necesita una clase de Java llamada Random

Random ran = new Random();

Y para generar un n煤mero 鈥渁leatorio鈥 se usa el m茅todo

nextInt(<lmite_del_rango>)

Mi condici贸n era que el loop se siguiera ejecutando mientras que 鈥渪鈥 no fuera 10. La variable x es el n煤mero aleatorio

El while loop queda de la siguiente forma:

while (x != 10){
    PrintSOS();

    x = ran.nextInt(10) + 1;
    System.out.println("x: " + x);
}

Noten que en la variable x, se suma un 1 al n煤mero aleatorio generado y esto es porque el rango toma en consideraci贸n el n煤mero 0. Sin ese " + 1 ", s贸lo se generar铆an n煤mero del 0 al 9 y nunca se complir铆a la condici贸n de salida

Buen Ejemplo

<public class WhileLoop {
    static boolean isTurnOnLight = false;

    public static void main(String[] args) {

        turnOnOffLight();

        int i = 1;
        while (isTurnOnLight && i <= 10){
            printSOS();
            i++;
        }

    }

    public static void printSOS(){
        System.out.println("...___...");
    }
    public static boolean turnOnOffLight (){
        isTurnOnLight = (isTurnOnLight)?false:true;
        return isTurnOnLight;
    }
}
> 
public static boolean turnOnOffLigth(){
        isTurnOnOffLigth = !isTurnOnOffLigth;
        return isTurnOnOffLigth;
    }

Tal vez me equivoque, pero creo que hay un peque帽o bug, pues revisando el el c贸digo al ejecutarlo con la ternaria as铆 ?true:false, pero dejando la variable inicializada en false, al ejecutar el c贸digo, 茅ste no imprime el SOS como lo hizo Anah铆 y seg煤n la condici贸n es que 茅sta sea true, pero en la ternaria queda como false鈥 en fin鈥 solo un peque帽o an谩lisis que hice al replicar pero colocando los valores ternarios al rev茅s鈥 cosas de QA. :hombre_encongiendose_de_hombros:

Muy buenos los ejemplos.

Comparto mi codigo de esta clase

public class whileLoop {

static boolean isTurnTheLight = false;

public static void main(String[] args) {

    turnOnOffTheLight();

    int i = 1;
    while (isTurnTheLight && i<= 10){
        printSOS();
        i++;
    }
}

public static void printSOS ()
{
    System.out.println(". . . _ _ _ . . .");
}

public static boolean turnOnOffTheLight()
{
    isTurnTheLight = (isTurnTheLight) ? false:true;
    return isTurnTheLight;

    /* if (isTurnTheLight)
    {
        isTurnTheLight = false;
        }else {
        isTurnTheLight = true;
        }
        return isTurnTheLight ;
    }*/

}

}

En este caso tambi茅n se puede tener en cuenta un operador de asignaci贸n:

isTurnOnLight = !isTurnOnLight;

Devuelve el contrario del valor actual de la variable, pero esta t茅cnica solo funciona con variables Boonleanas.

Creo que en esta ocacion, no era que la funci贸n tuviera un retorno de tipo boolean, porque en ningun momento se esta utilizando, simplemente esta haciendo un cambio a la variable, pero dentro de la funcion.
Se puede resumir a lo siguiente

public class WhileLoop {
    static boolean isOnLight = false;
    public static void main(String[] args) {
        turnOnOffLight();
        while (isOnLight){
            helpSOS();
        }
    }

    public static void helpSOS(){
        System.out.println("... ___ ...");
    }

    public static void turnOnOffLight(){
        isOnLight = !isOnLight;
    }
}

no entiendo el programa de luces. que mal

El editor me marcaba error, la forma en que me funcion贸 el c贸digo es de la siguiente manera:

public static void turnOnOffLight() {
        isTurnOnLight = !isTurnOnLight;
    }

buen curso

El operador terneario lo hace todo m谩s f谩cil y nos ayuda a ahorrar lineas de c贸digo.

la funci贸n tambi茅n se puede simplificar de esta forma

public static boolean turnOnOffLight(){
    return isTurnOnLight = !isTurnOnLight;
}

Comparto mi apunte

  • Operador ternario
//Metodo que responda al touch del usuario para activar la l谩mpara del celular
    public static boolean isIsTurnOffLight(){

        //utilizar condicionales con operador ternario

        isTurnOnLight = (isTurnOnLight)?false:true;


        //forma vista hasta este punto del curso para emplear condicionales a nuestro c贸digo.
        if(isTurnOnLight ){
            isTurnOnLight = false;
        }else{
            isTurnOnLight = true;
        }

        return isTurnOnLight;

    }

Muy interesante. Con Anah铆 se aprende mucho 馃挌

La funci贸n turnOnOffLight se puede simplificar a煤n m谩s con el operador l贸gico de negaci贸n:

public static boolean turnOnOffLight(){
	isTurnOnLight = !isTurnOnLight;
	return isTurnOnLight;
} 

Nunca pude comprender java, con esta profe todo es claro

return (isTurnOnLight) ? false : true;
  • While: Primero eval煤a la condici贸n, despues ejecuta.
    (Ejecuta de 0 a N veces.)
while (expression) {
  statement(s)
}
  • Do While: Primero Ejecuta, despues eval煤a la condici贸n.
    (Ejecuta de 1 a N veces)
do {
      statement(s)
} while (expression);

Otra forma de cambiar el valor de isTurnOnLight

    public static boolean turnOnOffLight() {
        isTurnOnLight = !isTurnOnLight;
        return isTurnOnLight;
    }

Supongo que ahora iremos con el bucle FOR. muy buena manera de explicar.

public class WhileLoop {

    static boolean isTurnOnLight = false;
    /**
     * Descripci贸n: Funci贸n que emite diez se帽ales de SOS
     */
    public static void main(String[] args) {
        turnOnOffLight();

        int i = 1;
        while (isTurnOnLight && i<=10){
            printSOS();
            i++;
        }
    }
    /**
     * Descripci贸n: Se帽al SOS
     */
    public static void printSOS(){
        System.out.println(". . . _ _ _ . . .");
    }
    /**
     * Descripci贸n: Operador ternario que valida si la linterna est谩 encendida
     */
    public static boolean turnOnOffLight(){
        isTurnOnLight = (isTurnOnLight) ? false : true;
        return isTurnOnLight;
    }
}```

el operador terneario lo conocia yo como if inline, lo vi en un libro de Java a Fondo by Pablo Augusto SZNAJDLEDER 馃槂

geniaaal

Nuevo concepto el operador ternario

Excelente lo del operador ternario! 馃槃

Abreviaci贸n de todo el if con el operador ternario. La estructura del operador ternario ?: es la siguiente: resultado = (condicion)?valor1:valor2;

public class WhileLoop {
static boolean isTurnOnLight=false;

public static void main(String[] args) {
    isTurnofLight();
    int i=1;
           while(isTurnOnLight && i<=10){
               printsos();
               i++;
           }

}
public static void  printsos(){
    System.out.println("..._...");
}


public static boolean isTurnofLight(){
    //operador ternario
    isTurnOnLight=(isTurnOnLight)? false:true;
    return isTurnOnLight;
}

}

lo aplicar茅 en todo lo que se pueda xd

Con el operador ternario es otra forma de implementar condicionales en el c贸digo.

Excelente explicaci贸n operador ternario y Bucle While

Yo conoc铆a esta forma abreviada de establecer un condicional ya que se utiliza mucho en los <input> para mostrar valores pero no sab铆a que ten铆a su propio termino que es operador ternario, por cierto, estupenda clase ahora sabemos c贸mo codificar las funciones b谩sicas para solicitar ayuda.

que quiere decir &&= ?

que interesante lo del operador ternario 馃槷

La estructura del operador ternario ?: es la siguiente:

resultado = (condicion)?valor1:valor2;

Donde a la variable **resultado **recibir谩 el valor1 en el caso de que la condici贸n sea true o bien el valor2 en el caso de que la condici贸n sea false.

As铆, si queremos calcular el mayor de dos n煤meros tendremos el siguiente c贸digo:

mayor=(x>y)?x:y;
public class WhileLoop{

    staticboolean isTurnOnLight = false;

    publicstaticvoidmain(String[] args){

        int i=1;
        turnOnOffLight();
        while(isTurnOnLight && i<=10){ // si es true y es menor ejecuta 10 veces
            printSOS();
            i++;
        }
    }
    publicstaticvoidprintSOS(){
        System.out.println(". . . _ _ _ . . .");
    }

    //Verifica si esta prendido o apagado la luz
    publicstaticbooleanturnOnOffLight(){

        //isTurnOnLight = (isTurnOnLight) ? false: true;

        if(isTurnOnLight){  //Si esta prendido lo apago
            isTurnOnLight=false;
        }else{              //Si no esta prendido lo prende con "true"
            isTurnOnLight=true;
        }
        return isTurnOnLight;
    }
}
https://platzi.com/r/omar-alban-becerra/```

Excelente explicaci贸n anah铆 (y)

Lo acabe de aplicar a unos procesos del trabajo, y se redujeron bastantes lineas! excelente dato!!!

隆Que genial ejemplo para el bucle While, exelente clase!.

Una manera m谩s sencilla que el operador ternario

isTurnOnLight = !isTurnOnLight;

Gracias por la clase, para conectar con la enterio le agregue la opci贸n para que el usuario decida si continuar o detener el proceso

import java.util.Scanner;

public class WhileLoop {
    static boolean isTurnOnLight = false;

    public static void main(String[] args) {

        turnOnOffLight();
        int i = 1;

        while (isTurnOnLight){
            i++;
            printSOS();
            while (i==10){
                i = i -10;
                boton();
            }
        }
    }
    public static void printSOS(){
        System.out.println("...---...");
    }
    public static boolean turnOnOffLight(){
        isTurnOnLight = (isTurnOnLight)?false:true;
        return isTurnOnLight;
    }
    // Esta funcion le pregunta al usuario si quiere volver a ejecutar el proceso o detenarlo
    public static void boton(){
        int response = 0;
        System.out.println("1. Continuar");
        System.out.println("2. Detener");
        Scanner sc = new Scanner(System.in);
        response = Integer.valueOf(sc.nextLine());
        switch (response) {
            case 1:
                isTurnOnLight = true;
                break;
            case 2:
                isTurnOnLight = false;
                break;
            default:
                System.out.println("Error");
                boton();
        }
    }
}```

Genial.

public class WhileLoop {

    static boolean isTurnOnLight = false;
    public static void main(String[] args) {

        isTurnOffLight();
        int i = 1;

        while(isTurnOnLight && i <= 10){
            printSOS();
            i++;
        }
 
    }

    public static void printSOS(){
        System.out.println("...___...");
    }

    public static boolean isTurnOffLight(){
        isTurnOnLight = (isTurnOnLight)?false:true;
        return isTurnOnLight;
    }
}```

Excelente clase.

Fascinante lo del operador ternario.

public class WhileLoop {
    static boolean isTurnOnLight = false;
    public static void main(String[] args) {

        turnOnOffLight();
        int i=1;
        while (isTurnOnLight && i<=10){
            printSOS();
            i++;
        }
    }

    public static void printSOS(){
        System.out.println("...___...");
    }

    public static boolean turnOnOffLight(){
        isTurnOnLight = (isTurnOnLight)?false:true;
        return isTurnOnLight;
    }
}```

Buena clase

Por momentos quedo borracho, pero ya luego entiendo y se me pasa

Todo muy claro. Gracias

return !isTurnOnLight```

una forma a煤n m谩s simple ser铆a retornar la forma negada del contenido de la variable (s贸lo v谩lido para tipos booleanos).

public static boolean turnOnOffLight(){
	return !this.isTurnOnLight;
}

Entiendo que es por motivos acad茅micos, pero he visto en repetidas ocasiones que utilizan el ternario, incluso hasta estructuras condicionales IF-ELSE para retornar TRUE o FALSE cuando esta es la respuesta natural de la condici贸n.

public class While {
    static boolean isTurnOnLight = false;
    static int amountMessageSent = 0;

    public static void main(String[] args) {
        handleLight();

        while(isTurnOnLight){
            printSOS();
            handleHelp();
        }

    }

    public static void printSOS(){
        /**
         *Prints SOS in Morse Code
         * And adds to the global var of amount of message sent
         * @author Alejandro AS
         */
        System.out.println("... ___ ...");
        amountMessageSent ++;
    }

    public static void handleHelp(){
       /**
        * Handles the global var amountMessageSent
        * Prints message when helps arrives and close the cicle
        * @author Alejandro AS
        */
        if(amountMessageSent == 10){
           System.out.println("LA AYUDA LLEGO!!! WIII");
           handleLight();
       }
    }

    public static void handleLight(){
        /**
         * Change the value of the Light of SOS
         * @author Alejandro AS
         */
        isTurnOnLight=!isTurnOnLight;
    }

}

Aunque no es el objetivo de esta clase una forma mas optimizada seria.

return !isTurnOnLight;

De esa manera devuelve siempre el contrario sin tener que comprobar al ser un valor booleano.

Si esta en falso lo contrario es true y al rev茅s, ya que el s铆mbolo ! es la negaci贸n de un valor.

Por si les vale para algo 馃槃

M谩s simplificado:

Me lo marc贸 el editor y no sab铆a como no me hab铆a dado cuenta de que se pod铆a hacer as铆 jajajaja

Linterna realista

Encontr茅 la forma de hacer una luz m谩s realista usando un for loop 馃槂

Code:

import java.lang.*;
import java.util.Scanner;



/**
 * WhileLoop
 *
 * Description: program for simulating SOS line
 */
public class WhileLoop {

    static boolean lightStatus = false;

    public static void main(String[] args) {
        byte i = 0;
        System.out.printf("Turning lights off for morse code...\n\n 馃敠: OFF 鈴 \n\n");
        isLightOnOff();

        if (lightStatus == false) {
            while (i<=10) {
                SOS_Signal();
                i++;
            }
        } else {
            System.out.printf("ERROR: troubles while turning off light\ntrying again...");
            try {
                Thread.sleep(500); //milliseconds
                isLightOnOff();
            } catch (InterruptedException e) {
                //TODO: handle exception
                ;
            }
        }
    }

    public static void SOS_Signal() {
        char dot = '.';
        char underscore = '_';

        printSymbol(dot);
        printSymbol(underscore);
        printSymbol(dot);
        System.out.printf("\n");
    }

    /**
     * Description: print a character three times with a pace of 3 seconds
     *
     * @param symbol the symbol we want to be repeated
     * */
    public static void printSymbol(char symbol) {
        for (byte i = 0; i <= 2; i++) {
            try {
                System.out.printf("%c", symbol);
                Thread.sleep(500);
            } catch (InterruptedException e) {
                //TODO: handle exception
                ;
            }

        }
    }
    /**
     * Description: turn the light off in case it has it on in order to star the secuence
     * */
    public static boolean isLightOnOff() {
        //simplified version with ternary operator
        return lightStatus = (lightStatus == true) ? false:false;

        /*
         * if (lightStatus == true) {
            lightStatus = false;
            turn light off
        } else {
            ;
        }

        return lightStatus;
        * */
    }
}

Output:

Turning lights off for morse code...

 馃敠: OFF 鈴 

...___...
...___...
...___...
...___...
...___...
...___...
...___...
...___...
...___...
...___...
...___...

(NOTA: see que ahoara que lo ves no parece que pasa nada, pero te reto a que corras el program en tu computador, as铆 ver谩s la magia!)

(PS: en mi c贸digo las luces tienen que est谩r apagadas para que pueda iniciar la secuencia, esto porque pues me parece m谩s realista)

Interesante =)

Esto:

isTurnOnLight = (isTurnOnLight) ? false : true;

Puede ser simlpificado a esto:

isTurnOnLight = !isTurnOnLight

El operador ternario es 煤til cuando queremos asignar un dato a una variable dependiendo de una condici贸n (sin utilizar un if), pero cuando el dato es al final un booleano se pueden usar los operadores l贸gicos.

public class WhiteLoop {
    static boolean isTrunOnLine= false;
    public static void main(String[] args) {

        turnOff();
        int i=1;

        while (isTrunOnLine&& i<=5){
            printSOS();
            i++;
        }


    }

    public static void printSOS(){
        System.out.println(". . . _ _ _ . . .");
    }

    public  static boolean turnOff(){
        isTrunOnLine=(isTrunOnLine)? false:true;

        if (isTrunOnLine==false){
            isTrunOnLine=false;
        }else{
            isTrunOnLine=true;

        }
        return isTrunOnLine;
    }
}```

cool

https://es.wikipedia.org/wiki/SOS

excelente clase!

public class WhileLoop {

    static  boolean     isTurnOnLight = false;

    public static void main(String[] args) {

        TurnOnOFFLight();

        int i = 1;
        while (isTurnOnLight && i <=10){
            PrintSOS();
            i ++;
        }
    }

    public  static  void PrintSOS(){
        System.out.println(" ...___...");
    }

    public  static  boolean TurnOnOFFLight(){
        //operador terniario, esta sintaxis  se usa para cambiar el valor de la variable.
        isTurnOnLight = (isTurnOnLight)?false:true;
        return isTurnOnLight;
    }
}
`return (isTurnOnLight) ? false : true;