Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

Diskusia – 8. diel - Podmienky (vetvenie) v Jave

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Posledné komentáre sú na spodnej časti poslednej stránky.
Avatar
Andy
Člen
Avatar
Odpovedá 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 :)

Avatar

Člen
Avatar
:28.1.2020 19:29

Hezká lekce.

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.

Avatar
charliho
Člen
Avatar
Odpovedá 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

Avatar
charliho
Člen
Avatar
Odpovedá 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

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

Avatar
Alesh
Tvůrce
Avatar
Odpovedá 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.

Avatar
Michal Š.
Člen
Avatar
Odpovedá 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

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

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

Odpovedať
S úsměvem jde všechno lépe :-)
Posledné komentáre sú na spodnej časti poslednej stránky.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 10 správy z 149.