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 12 - Pole v Javě

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
Atrament
Člen
Avatar
Odpovídá na Robert Vyskup
Atrament:22.8.2021 20:10

Změní se to, že po Arrays.sort() je to pole setřízené takže Homer bude na 'správné' straně když se v rámci binary search podíváš na prostřední prvek a porovnáš ho s Homerem - u nesetřízeného pole, tak jak je v ukázce v lekci koukne na prostředek, najde Barta a ten je v abecedě před Homerem, tak usoudí že Homer musí být někde napravo od něj, zahodí všechno nalevo od Bárta a pokračuje v hledání napravo, kde ale Homer ve skutečnosti není, protože to pole nebylo setřízené. Proto ho nikdy nenajde. Proto je nutné to pole nejprve setřídit, aby to vůbec mohlo fungovat.

 
Odpovědět
22.8.2021 20:10
Avatar
Odpovídá na Robert Vyskup
Jakub Žitný:9.9.2021 13:05

Díky moc! Po hodině hledání problému jsi mě zachránil před pořádným vztekáním :D

 
Odpovědět
9.9.2021 13:05
Avatar
Tomáš Rosprim:18.9.2021 16:56

Nerozumím chybě v syntaxi, která je i zde v uvedeném příkladu známek, konkrétně toto:
System.out.prin­tf("Zadejte %d. číslo: ", i + 1);

Při vpisování známek se mi neobjeví požadovaná hláška, až když vyplním počet n známek(délka pole), vypíše mi to všechny hlášky s číslem n + průměr do jednoho řádku.
Moje řešení je: System.out.prin­tln("Zadejte " + (i+1) + ". číslo: ");

Byl bych rád, kdyby mi někdo objasnil, proč to nefunguje? Používám NetBeans, může to být způobeno tím? Díky!

 
Odpovědět
18.9.2021 16:56
Avatar
Odpovídá na Tomáš Rosprim
Tomáš Rosprim:18.9.2021 17:05

Zajímavé, takže je to způsobeno pouze chybějícím odřádkováním ...
Správná syntaxe je:

System.out.prin­tf("Zadejte %d. číslo: \n", i + 1);

 
Odpovědět
18.9.2021 17:05
Avatar
daniel.pszczolka:17.10.2021 13:24

Ahoj. Tento kód

for (int i=0;i<pocet;i++){
    System.out.printf("Zadejte %d. číslo: ",i+1);
    pole[i]=Integer.parseInt(sc.nextLine());
}

mi funguje takto že se nejdříve čeká až zadám všechny prvky a až na konec do jednoho řádku napíše
Zadejte 1. číslo: Zadejte 2. číslo: Zadejte 3. číslo: Zadejte 4. číslo: Zadejte 5. číslo:
Nevím proč

 
Odpovědět
17.10.2021 13:24
Avatar
Odpovídá na daniel.pszczolka
daniel.pszczolka:17.10.2021 13:26

nepřečetl jsem si předchozí vstup :-)

 
Odpovědět
17.10.2021 13:26
Avatar
Atrament
Člen
Avatar
Atrament:28.1.2022 23:29

Pro úlohu se Simpsny právě není třeba pole setřídit, protože index výskytu ve výstupu nepoužijeme..

Jak chceš provádět binarySearch() na nesetřízeném poli?

 
Odpovědět
28.1.2022 23:29
Avatar
Odpovídá na Atrament
Jaroslav Drobek:7.2.2022 9:24

Jo, teď to čtu znovu a už to chápu - to bych ale neočekával, že je metoda binarySearch() tak subtilní: často potřebujeme index prvku v nesetříděném poli. Lze jistě získat cyklem, ale neexistuje na to jiná metoda?

 
Odpovědět
7.2.2022 9:24
Avatar
Atrament
Člen
Avatar
Atrament:5.11.2022 14:22

soucet += i je jenom zkrácený zápis soucet = soucet + i, slovy: k soucet přičti i

 
Odpovědět
5.11.2022 14:22
Avatar
Niki Vávrová:13.12.2022 9:48

Hezky vysvětlená lekce.

 
Odpovědět
13.12.2022 9:48
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 222.