NOVINKA: Staň se datovým analytikem od 0 Kč a získej jistotu práce, lepší plat a nové kariérní možnosti. Více informací:

Diskuze – Lekce 15 - Textové řetězce v Javě do třetice - Split a join

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
Jarda Bláha
Člen
Avatar
Jarda Bláha:10.12.2021 21:40

Ahoj, nedovedl by mi někdo poradit, kde je chyba ? Díky.

public static void main(String[] args) {
Scanner sc = new Scanner(System.in,"Windows-1250");
System.out.println("Zadej text ke kódování");
String s = sc.nextLine().toLowerCase();
System.out.printf("Původní zpráva: %s\n", s);
String zprava2 = "";




String [] abecedniZnaky = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"};
String[] morseovyZnaky = {".-", "-...", "-.-.", "-..", ".", "..-.", "--.", "....",
"..", ".---", "-.-", ".-..", "--", "-.", "---", ".--.", "--.-", ".-.", "...", "-", "..-",
"...-", ".--", "-..-", "-.--", "--.."};


for (char znak : s.toCharArray()){
 String morseuvZnak = "";
    int index = -1;

    for(int i = 0; i < abecedniZnaky.length; i++){
        if(abecedniZnaky[i].equals(znak)){
           index = i;
               }
        }
    if(index >= 0){
        morseuvZnak = morseovyZnaky[index];
   }
     zprava2 += morseuvZnak;
 }
 System.out.printf("Zakódovaná zpráva:\n%s", zprava2);
 
Odpovědět
10.12.2021 21:40
Avatar
Jarda Bláha
Člen
Avatar
Jarda Bláha:10.12.2021 23:23

Už jsem to dal dohromady :-)

 
Odpovědět
10.12.2021 23:23
Avatar
Odpovídá na Robert Vyskup
Zdeněk Dvorský:26.1.2022 18:33

Aby ti to nahrazení toCharArray() cyklem for s délkou length fungovalo, Je třeba nejdřív převést String s na pole znaků a to pak použít třeba takto:

// dekódováni zprávy
       String[] retezec = s.split(" ");
       for (int i = 0; i < retezec.length; i++) {
           for (int j = 0; j < morseovyZnaky.length; j++) {
               if(retezec[i].equals(morseovyZnaky[j])){
                   zprava +=abecedniZnaky.charAt(j);
               }
           }
       }
 
Odpovědět
26.1.2022 18:33
Avatar
Martin Král
Člen
Avatar
Martin Král:20.9.2022 8:46

Začínám se v tom trochu ztrácet, snad se to cvičením zlepší. Tím jak se kombinuje spousty věcí najednou je to pro úplného začátečníka mordor.

 
Odpovědět
20.9.2022 8:46
Avatar
Tomáš Nitsche:4.10.2022 15:22

lámu si hlavu, jak tam zakomponovat join, aby to fungovalo obráceně.

 
Odpovědět
4.10.2022 15:22
Avatar
Renáta Vyšatová:11.11.2022 1:59

Tohle byla složitá lekce. Nemyslím tím, že bych ji nerozumněla. Rozumněla, jen jsem musela pečlivě prozkoumávat každý řádek, abych pochopila. Pak zpátečné zakódování mi dalo zabrat. Nejdřív jsem přemýšlela, že by to možná šlo pomocí metody join(), ale tuto možnost mi NetBeans vůbec nenabízel, jestli ji vůbec zná 🤷‍♀️ Překvapivě to zná metodu indexOf(), pomocí které to šlo.

 
Odpovědět
11.11.2022 1:59
Avatar
David Sobek
Člen
Avatar
David Sobek:22.11.2022 23:41

Opět super lekce s cvičením v ní. Díky

 
Odpovědět
22.11.2022 23:41
Avatar
Jan Trnka
Člen
Avatar
Jan Trnka:30.11.2022 16:51

Lekce dobře vysvětlená ale Morseova abeceda byla pro mne moc těžká.

 
Odpovědět
30.11.2022 16:51
Avatar
Niki Vávrová:15.12.2022 10:10

Hezky vysvětlena lekce, ale Morseovku si budu muset ještě zopakovat.

 
Odpovědět
15.12.2022 10:10
Avatar
Michael Hereit:18.1.2023 18:00

Tak tady jsem se ztratil. Asi už toho mám dneska hodně, ale přijde mi tato lekce hrozně složitě napsaná. Možná by se to dalo pojmout víc jednoduše. Opravdu se v tom textu ztrácím a pořád hledám co čím autor chtěl říct. Máte to někdo taky tak, nebo už jsem úplně zblblej? :)

Odpovědět
18.1.2023 18:00
All we 've to decide is what to do with the time that is given us. (J.R.R. Tolkien)
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 127.