NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Lekce 16 - Podmínky v Javě potřetí - Ternární výraz, propadávací switch

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Lubor Pešek
Člen
Avatar
Lubor Pešek:14.3.2021 15:46

No pozor. Díky dnešním gender blbečkům je proměnná boolean pro pohlaví už hodně málo :D

Odpovědět
14.3.2021 15:46
Existují dva způsoby, jak vyřešit problém. Za prvé vyhoďte počítač z okna. Za druhé vyhoďte okna z počítače.
Avatar
Mirek Matějka:17.7.2021 16:46

Ahoj, omlouvám se za svou natvrdlost, ale zde u lekce 10 jsem narazil na problém se zadáváním hodnot formulářem typu String jako odpověď na dotaz formátovaný boolean, takže jsem nucen vypisovat true a false. Škoda, že ten kód není napsaný včetně vstupu, a je tam hodnota true vepsána natvrdo. Neuspěl jsem ani pomocí switch, i tam jsem řešil nekompatibilitu dvou formátu vstupu. Nedokázal jsem si poradit s tím, jak zadat hodnoty např. muz / zena nebo ano / ne, když je vyžadována hodnota typu boolean. Poradí mi prosím někdo?
Stvořil jsem pouze toto:

public class TernarniVyrazJednoduchy
{

    public static void main(String[] args)
    {
        Scanner sc = new Scanner(System.in);
        System.out.println("Udejte prosím, zda daná osoba je muž (true) nebo žena (false):");
        boolean muz = sc.nextBoolean(); // nějaká proměnná true/false udávající pohlaví

        String nazevPohlavi = (muz) ? "muž" : "žena";
        System.out.printf(nazevPohlavi);
    }
}
 
Odpovědět
17.7.2021 16:46
Avatar
Odpovídá na Mirek Matějka
Oleksandr Moskaliuk:27.10.2021 15:10
public static void main(String[] args)
    {
        Scanner sc = new Scanner(System.in);
        System.out.println("Udejte prosím, zda daná osoba je muž (true) nebo žena (false): (m/w)");
        String string = sc.nextLine();
        // this condition checks the correct input
        if(string.equals("m") || string.equals("w")){
            boolean man = isMale(string);
        String nazevPohlavi = (man) ? "muž" : "žena";
        System.out.println(nazevPohlavi);
        }else{
            System.out.println("Incorrect input!");
        }
    }

    // This method will return true if input string is "m" and false in other case
    private static boolean isMale(String string) {
        boolean male = false;
        if (string.equals("m")) {
            male = true;
        }
        return male;
    }
Odpovědět
27.10.2021 15:10
OleksPM
Avatar
Mirek Matějka:27.10.2021 19:54

Děkuji, Oleksandr, to je opravdu zajímavé a vtipné řešení daného problému, které je pro mne velmi poučné!

 
Odpovědět
27.10.2021 19:54
Avatar
Atrament
Člen
Avatar
Odpovídá na Oleksandr Moskaliuk
Atrament:27.10.2021 23:45
boolean male = false;
if (string.equals("m")) {
     male = true;
}
return male;

změň na

return string.equals("m");

😉

 
Odpovědět
27.10.2021 23:45
Avatar
Odpovídá na Atrament
Oleksandr Moskaliuk:28.10.2021 0:04

Děkuji! Je to skvělý nápad! Tak skvělý, že metodu isMale nepotřebujeme a můžeme hned psát:
boolean man = string.equals("m");

Odpovědět
28.10.2021 0:04
OleksPM
Avatar
Atrament
Člen
Avatar
Odpovídá na Oleksandr Moskaliuk
Atrament:28.10.2021 0:07

Přesně😃

 
Odpovědět
28.10.2021 0:07
Avatar
Zdeněk Plicka:23.4.2022 22:26

Za zminku stojii enhanced switch statement

int mesic = 11;
switch (mesic) {
    case 1, 2, 3 -> System.out.println("Je první čtvrtletí.");
    case 4, 5, 6 -> System.out.println("Je druhé čtvrtletí.");
    case 7, 8, 9 -> System.out.println("Je třetí čtvrtletí.");
    case 10, 11, 12 -> System.out.println("Je čtvrté čtvrtletí.");
Odpovědět
23.4.2022 22:26
Nejprve je třeba naučit se plazit
Avatar
Odpovídá na Zdeněk Plicka
Zdeněk Zemek:20.7.2022 11:33

Pravda, akorát pozor -multiple case lable - funguje až od Javy 12! Ale ta syntaxe se mi moc líbí, kod je o dost kratší :-).

 
Odpovědět
20.7.2022 11:33
Avatar
Jan Trnka
Člen
Avatar
Jan Trnka:4.12.2022 20:59

Zase jedna dobře napsaná lekce.

 
Odpovědět
4.12.2022 20:59
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 13.