NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
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í.
Mezi 13:00 až cca 15:00 proběhne odstávka sítě z důvodu aktualizace. Web bude po celou dobu nedostupný.

Diskuze – Lekce 8 - Podmínky (větvení) v Javě

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
Odpovídá na Alesh
Václav Dachs:19.1.2021 19:13

Aha, tak to jsem se vlastně učil před víc jak 20 lety a za těch víc jak 20 let, co se živím převážně hudbou, jsem to úspěšně zapomněl :-D Díky za refresh :-)

Odpovědět
19.1.2021 19:13
S úsměvem jde všechno lépe :-)
Avatar
Jan Křížek:21.3.2021 12:42

Ahoj,

příklady na podmínky jsou hezké, a tak, jen ten poslední ukázkový příklad na odmocninu se mi vážně nelíbí. Je špatně prezentovaný.

  1. Když uživatel zadá 0, pak mu to vyplivne větu, že "Odmocnina ze záporného čísla neexistuje!", což je pěkná blbost. 0 není ani záporné ani kladné číslo a navíc odmocnina z nuly je rovna nule.
  2. Věta "Odmocnina ze záporného čísla neexistuje!" je nepravdivá. Odmocnina záporného čísla existuje, jen taková hodnota leží až v množině komplexních čísel. Tedy, navrhuji, aby se tato věta upravila na "Odmocnina ze záporného čísla neexistuje na množině reálných čísel!"
 
Odpovědět
21.3.2021 12:42
Avatar
Alesh
Tvůrce
Avatar
Odpovídá na Jan Křížek
Alesh:21.3.2021 13:21

Máš pravdu matematicky je to špatně, programátorsky to je ale v pořádku. Opravit by to asi chtělo, na druhou stranu to alespoň některé jedince vybičuje k zamyšlení, což je dobře. ;-)

 
Odpovědět
21.3.2021 13:21
Avatar
Odpovídá na Filip Vraník
Vojtěch Perník:5.5.2021 19:00

Rovnost se totiž v logických výrazech zapisuje pomocí dvou rovnítek (<code>==</code>), ne jen <code>=</code>.

 
Odpovědět
5.5.2021 19:00
Avatar
Odpovídá na Jan Křížek
Vojtěch Perník:5.5.2021 19:07

Ne, kód je zde dobře. Používá se tam totiž a >= 0. To znamená "a je větší nebo rovno nule". V tomto případě tedy může na blok else dojít jen v případě, kdy je a opravdu záporné.

 
Odpovědět
5.5.2021 19:07
Avatar
Alesh
Tvůrce
Avatar
Odpovídá na Vojtěch Perník
Alesh:5.5.2021 19:59

V době, kdy on psal ten komentář, tak to skutečně bylo špatně, na základě jeho komentáře jsem opravil tu podmínku a zeditoval ten text v případě záporných čísel.

 
Odpovědět
5.5.2021 19:59
Avatar
Martin Šiška:15.6.2022 21:50

Obsah je výborný! Avšak ako v iných lekciách preklad z češtiny mätie pri učení. Je to nedokonalé.

 
Odpovědět
15.6.2022 21:50
Avatar
Jiří Raszka:27.9.2022 0:50

Ahoj, chtěl bych poprosit o radu. U příkladu PODMÍNKY zadání < nebo > 5 bych chtěl vložit podmínku, když se vloží jiný znak než číslo, aby mi oznámil, že vložený znak není číslo, ale text.

Scanner sc = new Scanner(System.in, "Windows-1250");
System.out.println("Zadej nějaké číslo");
int a = Integer.parseInt(sc.nextLine());
if (a > 5)
{ System.out.println("Zadal jsi číslo větší než 5!");}
else if (a < 5) {
System.out.println("Zadal jsi číslo menší než 5!");}
else ????????????????????????
}
}
 
Odpovědět
27.9.2022 0:50
Avatar
Odpovídá na Jiří Raszka
Matúš Olejník:27.9.2022 9:59

Ahoj, ako prvé v takej situácii skús pozrieť dokumentáciu.

Samotný prevod na číslo z toho čo si zadal do konzoly, ako už vieš, robí metóda parseInt. Následne buď vygoogliš hotové riešenie alebo vygoogliš samotnú dokumentáciu k metóde, prípadne priamo vo vývojovom prostredí si vieš zobraziť dokumentáciu.

K metóde parseInt som našiel dokumentáciu tu (java 11) https://docs.oracle.com/…Integer.html#…)). Tu si môžeš všimnúť, že je napísané čo metóda robí atď, spolu s tým čo sa udeje keď do nej pošleš niečo iné než reťazec, ktorý by mohol byť číslo.

Throws:
NumberFormatEx­ception - if the string does not contain a parsable integer.

Keď vieš tieto informácie, tak vieš odchytiť danú chybu a vypísať čo potrebuješ. Neviem či už bola lekcia s try-catch, ale dá sa to ľahko pochopiť.

Scanner sc = new Scanner(System.in, "Windows-1250");
System.out.println("Zadej nějaké číslo");
try {
    int a = Integer.parseInt(sc.nextLine());

    if (a > 5) {
        System.out.println("Zadal jsi číslo větší než 5!");

    } else if (a < 5) {
        System.out.println("Zadal jsi číslo menší než 5!");
    }

} catch (NumberFormatException ex) {
    System.out.println("Nezadal jsi číslo!");
}
Odpovědět
27.9.2022 9:59
/* I am not sure why this works but it fixes the problem */
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 149.