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í.

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
Andy
Člen
Avatar
Odpovídá na Matúš Olejník
Andy :30.10.2019 13:44

To byla teda pěkně hloupá chyba, sypu si popel na hlavu. Mnohokrát děkuji za radu :) Ještě bych se chtěla zeptat, zda je lepší používat if a else, nebo switch, pokud chci dát více podmínek. Co se týče přehlednosti, přijde mi to nastejno, tak jestli je vhodnější to, nebo ono :)

 
Odpovědět
30.10.2019 13:44
Avatar

Člen
Avatar
:28.1.2020 19:29

Hezká lekce.

 
Odpovědět
28.1.2020 19:29
Avatar
charliho
Člen
Avatar
charliho:22.3.2020 12:30

Ahoj všem, prosím o radu, postupuji dle tohoto návodu a tvořím si jednoduchou kalkulačku. Chtěl bych aby byla ošetřená proti všem špatným zadáním uživatele. Podařilo se mi vyřešit a-z A-Z, nějaké další znaky, ale jak ošetřím, aby mi uživatel nezadal speciální znaky typu +-*@{ apod. Prosím o radu.

Můj kód na ošetření znaků je takovýto, ale nevím zdali je správně.

if (!Svolba.matches("[a-zA-Z_/*--+,.;&@%<>´=]") && Svolba != null && !Svolba.isEmpty())

Problém je, že pokud zadám jeden znak, vše je v pořádku a podmínka se provede se jako true. Ale pokud zadám dva a více znaků už skončím na pádu aplikace (kvůli parsování proměnné na integer).

Dodám, že proměnná Svolba je string a hned za splnění podmínky ji parsuji na integer do proměnné "volba".

Všem předem díky za pomoc.

 
Odpovědět
22.3.2020 12:30
Avatar
charliho
Člen
Avatar
Odpovídá na charliho
charliho:22.3.2020 12:47

Asi jsem si odpověděl sám. Ověřovat, zdali je vstup pouze číslo bych měl asi přes hasNextInt() že :D

Díky

 
Odpovědět
22.3.2020 12:47
Avatar
charliho
Člen
Avatar
Odpovídá na charliho
charliho:22.3.2020 14:38

Je lepší použít try-catch na ošetření vstupu uživatele nebo se snažit můj problém vyřešit jinak? Díky

 
Odpovědět
22.3.2020 14:38
Avatar
Michal Š.
Člen
Avatar
Michal Š.:15.5.2020 17:57

Ahoj, sim, není mi jasné, proč je v posledních dvou příkladech na předposledním řádku
System.out.prin­tln();
Jaký to má důvod?
Díky

 
Odpovědět
15.5.2020 17:57
Avatar
Alesh
Tvůrce
Avatar
Odpovídá na Michal Š.
Alesh:15.5.2020 18:34

Metoda println(text) na rozdíl od metody print(text) nejen vypíše text, ale po jeho vypsání odřádkuje. Pokud text není zadán, pak metoda pouze jen odřádkuje. V kódu prostě slouží jen k tomu, aby se tam jednou odřádkovalo a tím to vypadalo lépe a nebyly ty řádky namaštěný hned za sebou.

 
Odpovědět
15.5.2020 18:34
Avatar
Michal Š.
Člen
Avatar
Odpovídá na Alesh
Michal Š.:15.5.2020 18:38

Bingo, je to jasné
Už to vidím, musel jsem ale spustit kód a pak to odřádkování tam je
V tabulce pod totiž ten prázdný řádek chybí
To mě zmátlo
Díky

 
Odpovědět
15.5.2020 18:38
Avatar
Filip Vraník:25.9.2020 11:39

Ahoj,
v příkladu kalkulačky jsem zkusil místo:
if ((volba > 0) && (volba < 5))
zadat:
if ((volba = 1) || (volba = 2) || (volba = 3) || (volba = 4))
abych eliminoval errory u zádání desetinných čísel v rozmezí (0 < volba < 5) čísel, jako jsou například: 2.2, 3,5 v případě volby
ale Java mi to nebere, poradí prosím někdo proč?
PS: jsem začátečník, a chtěl jsem použít zmiňovaný příkaz "nebo", tedy "||", i když nebyl v příkladu, tak pardon pokud se ptám na nějakou bazální blbost :D
pak jsem to zkusil i takhle hulvátsky:
if (volba = 1 || 2 || 3 || 4) ale to asi uz vubec ne ze? :D

 
Odpovědět
25.9.2020 11:39
Avatar
Václav Dachs:19.1.2021 15:15

Ahoj všem.

Nevím proč, ale kalkulačka mi nefunguje správně ani v mém kódu v NetBeans IDE 12.2 ani v ukázce tady na stránkách.

Moje kalkulačka i kalkulačka v ukázce tady na stránkách při zadání hodnot a = 3.3, b = 2.2 a jako operaci zvolím rozdíl vrátí mi to c = 1.099999 - což není správně (to samé vrací i kalkulačka v C# jak u mne ve VS 2019 tak v ukázce na stránkách tutoriálu C#).

Může mi prosím někdo vysvětlit proč? Děkuji

Odpovědět
19.1.2021 15:15
S úsměvem jde všechno lépe :-)
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.