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
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));

 
Odpovědět
26.3.2023 12:48
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š.

 
Odpovědět
26.3.2023 17:45
Avatar
Martin Čumpelík:8.5.2023 10:48

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

 
Odpovědět
8.5.2023 10:48
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.

 
Odpovědět
17.5.2023 12:39
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

 
Odpovědět
18.5.2023 11:28
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

 
Odpovědět
25.5.2023 3:38
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?

 
Odpovědět
6.6.2023 21:10
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;

 
Odpovědět
7.6.2023 20:23
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
8.6.2023 14:57
"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á.

 
Odpovědět
17.6.2023 20:47
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.