Zarábaj až 6 000 € mesačne! Akreditované rekvalifikačné kurzy od 0 €. Viac informácií.

Diskusia – 7. 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
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 :)

 
Odpovedať
30.10.2019 13:44
Avatar

Člen
Avatar
:28.1.2020 19:29

Hezká lekce.

 
Odpovedať
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.

 
Odpovedať
22.3.2020 12:30
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

 
Odpovedať
22.3.2020 12:47
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

 
Odpovedať
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

 
Odpovedať
15.5.2020 17:57
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.

 
Odpovedať
15.5.2020 18:34
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

 
Odpovedať
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

 
Odpovedať
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

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