Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

Diskusia – 12. diel - Pole v Jave

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Posledné komentáre sú na spodnej časti poslednej stránky.
Avatar
Atrament
Člen
Avatar
Odpovedá 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.

Avatar
Odpovedá 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

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!

Avatar
Odpovedá 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);

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č

Avatar
Odpovedá na daniel.pszczolka
daniel.pszczolka:17.10.2021 13:26

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

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?

Avatar
Odpovedá 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?

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

Avatar
Niki Vávrová:13.12.2022 9:48

Hezky vysvětlená lekce.

Posledné komentáre sú na spodnej časti poslednej stránky.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 10 správy z 222.