NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
Mezinárodní den IT společnosti je tady! Pouze nyní můžeš získat 90 % extra kreditů při nákupu od 1199 kreditů s promo kódem AJTACI90. Tak neváhej!

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
Alesh
Tvůrce
Avatar
Odpovídá na Lukáš Kučavík
Alesh:29.8.2020 20:17

V lingvistice a typografii je grafém nejmenší, dále už nedělitelná jednotka psaného jazyka. Grafémy zahrnují písmena abecedy, znaky či piktogramy znakového písma, číslice a interpunkční a jiná znaménka.

https://cs.wikipedia.org/…/Graf%C3%A9m

 
Odpovědět
29.8.2020 20:17
Avatar
Petr Švejda
Člen
Avatar
Petr Švejda:20.12.2020 11:05

Znaky ASCII tabulky se dělí na písmena, číslice, interpunkční znaménka a tzv. bílé znaky. Když tak mě někdo opravte.

Odpovědět
20.12.2020 11:05
Nikdy neříkej, že něco nejde, protože se vždycky objeví někdo, kdo neví, že to nejde a udělá to.
Avatar
Jaromír Olšovský:25.12.2020 22:10

Ahoj, mám problém s tím, že, když si kód příkladu z první části lekce, to je ten s "programátorem ve sprše", přepíšu do Apache Net Beans 12.2, tak to nefunguje. Chce to po mě definici char c. Konkrétně nefunguje tato část kódu, v NetBeans to vyžaduje definici c, hint píše: cannot find symbol c. Nechybí v kódu něco? Díky za objasnění.

for (char c : s.toCharArray()) {
    if (samohlasky.contains(String.valueOf(c))) {
        pocetSamohlasek++;
 
Odpovědět
25.12.2020 22:10
Avatar
Jaromír Olšovský:25.12.2020 23:57

Sorry, už jsem na to přišel, měl jsem špatně umístěný ; :-)

 
Odpovědět
25.12.2020 23:57
Avatar
Ondřej Jareš:27.3.2021 10:58

Ahoj vysvetlil by mi nekdo proc se i ceasara prevadi char na int? Kdyz jsem zkousel vsechno v intu tak fungoval take, dekuji za odpoved.

Reseni zde

for (char c : s.toCharArray()) {

int i = (int)c;
i += posun;
char znak = (char)i;
zprava += znak;

}

Moje reseni

for (int c : zadani.toCharArray()) {

    int i = c;
    i += posunZnaku;
    int znak = i;
    zprava.append(znak);
}

Asi jsem nepochopil proc se prevadi ten char na int a pak zpet.

 
Odpovědět
27.3.2021 10:58
Avatar
Odpovídá na Ondřej Jareš
Ondřej Jareš:27.3.2021 11:21

Uz jsem na to prisel omlouvam se za dotaz, kdyz jsem tam nemel ten char tak mi to vyhodilo jen ciselnou hodnotu mel jsem tam chybu :)

 
Odpovědět
27.3.2021 11:21
Avatar
Jozef Lysík
Člen
Avatar
Odpovídá na Jan Béňa
Jozef Lysík:25.6.2021 14:01

' sa dá napísať aj Alt Gr + p

 
Odpovědět
25.6.2021 14:01
Avatar
Petra Krulová:7.9.2021 18:17

Ahoj, mám problém s diakritikou v programu Apache NetBeans IDE 12.4. Místo Windows-1250 jsem zkoušela kódování UTF-8 (a některá další), ale neúspěšně. Když řešení nahraji sem, aplikace testem projde. Apache ale při operacích nezpracuje háčky, čárky.
Může to být nějakým nastavením v Apache? Díky

 
Odpovědět
7.9.2021 18:17
Avatar
Alesh
Tvůrce
Avatar
Odpovídá na Petra Krulová
Alesh:7.9.2021 20:31

Koukám, že je to lehká modifikace příkladu z této kapitoly. A pokud zkusíš přímo ten příkladu odsud, tak ten ti taky nefunguje? No, kdyžtak sem dej svůj kód (ne jako obrázek), já to zkusím u sebe. Na první pohled to vypadá ok, ale možná jen blbě koukám. ;-)

 
Odpovědět
7.9.2021 20:31
Avatar
Odpovídá na Alesh
Petra Krulová:9.9.2021 11:17

Příklad odsud funguje, protože v textu nejsou žádná písmena s háčky/čárkami. Funguje i ten můj modifikovaný kód, pokud nezadám písmeno s diakritikou. V opačném případě to nefunguje ani ve vzorovém, ani modifikovaném kódu.

Scanner sc = new Scanner (System.in, "UTF-8");
        System.out.println("Zadej text k analýze:");
        String text = sc.nextLine().toLowerCase();
        //Počítadla, zprvu nastavíme na 0
        int pocetSamohl = 0;
        int pocetSouhl = 0;
        String samohl = "aeiouyáéěíóúůý";
        String souhl = "bcčdďfghjklmnpqrřsštťvwxzž";

    //Hlavní cyklus - převod Stringu na pole, metoda toCharArray
        for (char znak : text.toCharArray()){
            if (samohl.contains(String.valueOf(znak))){
            //valueOf převede char (tedy znak) na String, aby mohla být použita metoda contains
                pocetSamohl++;
            }
            else if (souhl.contains(String.valueOf(znak))){
                pocetSouhl++;
            }
        }
        int nepismeno = text.length() - (pocetSamohl) - (pocetSouhl);
        System.out.printf("Samohlásek: %d\n", pocetSamohl);
        System.out.printf("Souhlásek: %d\n", pocetSouhl);
        System.out.printf("Nepísmenných znaků: %d\n", nepismeno);
 
Odpovědět
9.9.2021 11:17
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.