Hledáš dárek, který neskončí v koši? Nyní 90 % extra kreditů ZDARMA s promo kódem PREKVAPENI90. Zjisti více:
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
Nejnovější komentáře jsou na konci poslední stránky.
Avatar
Petr Tumpach
Člen
Avatar
Petr Tumpach:26.3.2023 12:48

U metody substring() asi nechápu end-index, který odkazuje na index "za posledním znakem který má být zahrnut", tj. v případě že chci řetězec až do konce tak se odkazuji na index který v řetězci už vlastně není. Viz třeba System.out.prin­tln("ahoj".sub­string(2, 4));

Avatar
Atrament
Člen
Avatar
Odpovídá na Petr Tumpach
Atrament:26.3.2023 17:45

A v čem vidíš problém? Navíc když chceš řetězec od místa 2 až do konce tak můžeš použít "ahoj".substring(2), tedy bez toho druhého parametru a dostaneš to co chceš.

Avatar
Martin Čumpelík:8.5.2023 10:48

špatně vysvětlené. Tohle si zaslouží vysvětlení řádek po řádku

Avatar
Stanislav Kus:17.5.2023 12:39

Metoda substring nebyla vhodně vysvětlena - vrací se hodnota, jak daleko je porovnávaný znak v abecedě od porovnaného znaku.
U metod split a join by bylo vhodné přidat obrázky, ať víme, jak vypadá rozdělení/spojení, i když to zatím neumíme vytvořit.

Avatar
Stanislav Kus:18.5.2023 11:28

Ještě menší komentář pro někoho, komu to dochází pomaleji (jako mně 😄 ): když je index nastaven na -1, znamená to, že se akce nevykoná a znak bude vynechán

Avatar
Jan Mastik
Člen
Avatar
Jan Mastik:25.5.2023 3:38

trochu pro mě složitěji vysvětleny metody split() a join(), mohlo by to být asi více a jednodušeji vysvětleno na jednoduchém příkladu

Avatar
Matúš Králik:6.6.2023 21:10
for (String morseZnak : znaky) {
                        String pismeno = " ";
                        int index = abeceda.indexOf(morseZnak, 0);

                        if (index >= 0) {
                            morseZnak = morseovka[index];
                        }
                        sprava += morseZnak + " ";
                    }
                    System.out.printf("Zakodovana sprava : %s\n", sprava);

co poviete na taketo vyriesenie? ako ste to riesili vy?

Avatar
Jiřin Jirka Žmuran:7.6.2023 20:23

dokáže mi prosím někdo prosím vysvětlit následující části té morseovky už v tom nějak plavu:

char abecedniZnak = '?';

int index = -1;

Avatar
DarkCoder
Člen
Avatar
Odpovídá na Jiřin Jirka Žmuran
DarkCoder:8.6.2023 14:57

abecedniZnak je znak, který se přidá do řetězce v případě že není nalezen morseuv znak z databáze. Nastavení na nějakou hodnotu je důležité a provádí se vždy jako první věc. Index slouží k informaci o tom zda existuje morseuv znak v databázi (nezaporna hodnota). Nutno podotknout, že je to zbytečné. Ve for cyklu se totiž rovnou může nastavit abecední znak na konkrétní hodnotu. Zároveň se může z cyklu vyskočit když je nalezena shoda a nepřichází zbytečně zbytek pole. Vně for cyklu už stačí přiřadit abecední znak řetězci.

Odpovědět
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Avatar
Jan Fejtek
Člen
Avatar
Jan Fejtek:17.6.2023 20:47

Metoda substring zde opravdu není dobře vysvětlena. Popis indexování je velmi nedostatečný.

Začátek je inkluzivní, konec není. To by mělo být uvedeno, zejméná vzhledem k tomu, že se na to později ptáte. String.substring(a, b) vrací znaky od (a+1)-ního do b-tého, formulace textu ale (alespoň pro mě) vyvolává dojem, že vrací (a+1)-ní až (b+1)-ní znak. To se pak musí dohledávat v dokumentaci od Oraclu, co to vlastně dělá.

Nejnovější komentáře jsou na konci poslední stránky.
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 128.