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 14 - Textové řetězce v Javě podruhé - Práce s jednotlivými znaky

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

Člen
Avatar
:2.11.2015 16:46

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

 
Odpovědět
2.11.2015 16:46
Avatar
Tomáš Brůna
Tvůrce
Avatar
Odpovídá na
Tomáš Brůna:2.11.2015 18:24

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

Odpovědět
2.11.2015 18:24
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

 
Odpovědět
5.5.2016 9:33
Avatar
Odpovídá 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;
Odpovědět
5.5.2016 9:40
Pokud spolu kód a komentář nekorespondují, budou patrně oba chybné
Avatar
Odpovídá na Petr Štechmüller
Petr Kopecký:5.5.2016 9:44

Petr Š: Moc děkuji :o)

 
Odpovědět
5.5.2016 9:44
Avatar
Roman Havelka:5.6.2016 13:30

Mel bych dotaz - promenna v cyklu je pouze lokalni ?

 
Odpovědět
5.6.2016 13:30
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.

 
Odpovědět
29.6.2016 23:02
Avatar
Dynlik
Člen
Avatar
Odpovídá 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 :-) .

Editováno 3.8.2016 13:08
 
Odpovědět
3.8.2016 13:07
Avatar
Karel Klíč
Člen
Avatar
Karel Klíč:19.10.2016 21:13

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

 
Odpovědět
19.10.2016 21:13
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 = "";

 
Odpovědět
23.1.2017 13:11
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 113.