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 – 14. diel - Textové reťazce v Jave - Práca s jednotlivými znakmi

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

Člen
Avatar
:2.11.2015 16:46

Čaute, prosím vás v akom článku sa vysvetľovala metoda contains?

Avatar
Tomáš Brůna
Tvůrce
Avatar
Odpovedá na
Tomáš Brůna:2.11.2015 18:24

Ahoj tady: http://www.itnetwork.cz/…typy-string/ příště zkus hledat :)

Odpovedať
Vi veri universum vivus vici
Avatar
Petr Kopecký:5.5.2016 9:33

Ahoj prosim o radu, proc mi nefunguje nasledujici kod?

  • Nerozumím proc u else mezi dvouma if mi sviti chyba?
  • pocitani souhlasek a samohlasek jsem napsal malinko jinak než je uvedeno v lekci. Ale melo by to podle me fungovat. Bohuzel vystup je hodnota 26 jak pro souhlasky tak samohlasky. Testovaci text1 obsahuje celkem 26 znaku.
//-----------------
            String text1 = "Testovaci veta plna znaku.";

            int samohlasek = 0;
            int souhlasek = 0;


            String samohlasky = "aeiouyáéěíóúůý";
            String souhlasky = "bcčdďfghjklmnpqrřsštťvwxzž";

            //hlavni cyklus
            for (int i=0; i< text1.length(); i++)
            {
                if (samohlasky.contains(String.valueOf(text1.charAt(i))));
                    samohlasek += 1;

                else
                if (souhlasky.contains(String.valueOf(text1.charAt(i))));
                    souhlasek += 1;
            }

            System.out.println("pocet samohlasek v textu:" + samohlasek);
            System.out.println("pocet souhlasek v textu:" + souhlasek);
//-----------------

Děkuji za rady

Avatar
Odpovedá na Petr Kopecký
Petr Štechmüller:5.5.2016 9:40

Ahoj, za if se nepíše středník

if (samohlasky.contains(String.valueOf(text1.charAt(i))));  <<<---------
                    samohlasek += 1;
if (souhlasky.contains(String.valueOf(text1.charAt(i))));   <<<----------
                    souhlasek += 1;
Odpovedať
Pokud spolu kód a komentář nekorespondují, budou patrně oba chybné
Avatar
Odpovedá na Petr Štechmüller
Petr Kopecký:5.5.2016 9:44

Petr Š: Moc děkuji :o)

Avatar
Roman Havelka:5.6.2016 13:30

Mel bych dotaz - promenna v cyklu je pouze lokalni ?

Avatar
Johnny Cook
Člen
Avatar
Johnny Cook:29.6.2016 23:02

Jen tak pro zajímavost jsem zkusil zagooglit, jak to udělat, aby Cézarova šifra pobrala i diakritiku.

String s = sc.nextLine().trim().toLowerCase();
s = Normalizer.normalize(s, Normalizer.Form.NFD);
s = s.replaceAll("\\p{InCombiningDiacriticalMarks}+", "");

Druhý řádek rozdělí znaky s diakritikou na znak bez ní a samotný akcent (nebo jak to česky nazvat). Třeba z 'á' to udělá "a´"
Třetí řádek odstraní akcenty.

Ten druhý mi přijde celkem ok, i když nevím, co znamená to Form.NFD, ale obsah závorky ve třetím řádku bych asi netipnul.

Pak jsem jen ošetřil

if((int)c>=97 && (int)c<=122)

a pokud ne, tak se šifra neprovádí a char se jen přidá k výsledné zprávě. Je pravda, že tím šifra ztrácí na účinnosti, protože podle délky slov se snáze odhadne obsah. Například, tradičně oblíbená věta "Ahoj, jak se máš?" se při posunu 1 přeloží na "bipk, kbl tf nbt?"

Přišlo mi zajímavé to tady uvést.

Avatar
Dynlik
Člen
Avatar
Odpovedá na Roman Havelka
Dynlik:3.8.2016 13:07

Roman H.: Jo, po skončení cyklu se zruší. Když jí použiješ, java ti vyhubuje :-) .

Editované
Avatar
Karel Klíč
Člen
Avatar
Karel Klíč:19.10.2016 21:13

Nepísmenné znaky se nazývají grafémy.

Avatar
Zdeněk Svoboda:23.1.2017 13:11

Asi triviální dotaz ale z jakého důvodu je v kodu pod nadpisem Cezarova Šifra toto ?

String zprava = "";

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