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 4 - Hrací kostka v Javě - Zapouzdření, konstruktor a Random

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
Guri Lucie Vlčková:12.2.2023 18:32

Dneska mi konečně někdo vysvětlil co to je krycí metoda toString s Overide. Je to jen překladač. Tohle pojmenování mělo být napsáno ve výukové lekci. Pak bych věděla o čem píší.

 
Odpovědět
12.2.2023 18:32
Avatar
Jan Krupa
Člen
Avatar
Jan Krupa:27.3.2023 21:09

To už je docela složité, snad to ale není tak těžké, jak se to ze začátku zdá :-). Různé druhy metod (přetížení) se mi u konstruktorů nezobrazují, jen pokud napíšu třída., tak od této chvíle.

 
Odpovědět
27.3.2023 21:09
Avatar
Veronika Svobodová:15.5.2023 17:05

Strašné přeskakování a přepisování toho co jsme již napsali. Trošku jsem se v tom ztratila, musela jsem hodně kontrolovat zdrojové kódy zda jsem přepsala nebo umazala správnou věc.

 
Odpovědět
15.5.2023 17:05
Avatar
Martin Čumpelík:17.5.2023 11:16

Neskutečně zmateně a na přeskáčku vysvětleno. Míchání jednoho do druhého. Bez vyhledávání externích zdrojů stěží k pochopení

 
Odpovědět
17.5.2023 11:16
Avatar
Alena Uhlířová:28.7.2023 10:16

V ukázce jsou informace v přetížení napsány česky. Nevíte někdo jak vyměnit anličtinu za češtinu? Díky. Nikde jsem to nenašla.

 
Odpovědět
28.7.2023 10:16
Avatar
ing. SARNOVSKÝ Petr:12.9.2023 15:37

Bohužel až na konci výkladu začne být jasné jestli se v průběhu hovoří o projektu TahovyBoj nebo třídě Kostka.

 
Odpovědět
12.9.2023 15:37
Avatar
Michael Sláma:27.10.2023 15:13
@Override
    public String toString(){
    return String.format("Kostka s %s stěnami", pocetSten);
    }

ahoj :) můžu mít dotaz proč je zde %s a ne %d ? v předchozím bloku základů Javy bylo napsané že %s je pro String a %d pro čísla, tak přoč tu není %d když vypisujeme int? Děkuji :)

Editováno 27.10.2023 15:14
 
Odpovědět
27.10.2023 15:13
Avatar
Odpovídá na Michael Sláma
Martin Srdoš:10.12.2023 13:13

%s volá toString() nad čímkoliv co je v argumentu. Potom je jedno jestli to volá mujString.toS­tring(), nebo mujInteger.toS­tring(). Když ale zvolíš možnst s%d, tak v argumentu musí být integer, long atd., jinak to vyhodí chybu.

 
Odpovědět
10.12.2023 13:13
Avatar
Radovan Horák:24.1.2024 19:03

Ahojte, v třídě kostka dle textu lekce vytvářím metodu, která vrací náhodné číslo.
A po přečtení textu pod kódem jsem v koncích. Ví někdo jak je to myšleno?
/**

  • Vykoná hod kostkou
  • @return Číslo od 1 do počtu stěn

*/
public int hod() {
return random.nextIn­t(pocetSten) + 1;
}

Dejte si pozor, abyste netvořili generátor náhodných čísel v metodě, která má náhodné číslo vracet, tedy že by se pro každé náhodné číslo vytvořil nový generátor. Výsledná čísla pak nejsou téměř náhodná nebo dokonce vůbec. Vždy si vytvořte jednu sdílenou instanci generátoru (např. do privátního atributu pomocí konstruktoru) a na té potom metodu nextInt() volejte.

 
Odpovědět
24.1.2024 19:03
Avatar
Atrament
Člen
Avatar
Odpovídá na Radovan Horák
Atrament:24.1.2024 21:40

Znamená to že si máš dát bacha abys nevytvářel ten generátor přímo v té metodě hod(), tedy takhle:

public int hod() {
    Random random = new Random(); // takto je to nesprávně
    return random.nextInt(pocetSten) + 1;
}

ale abys měl ve třídě jednu instanci Random(), kterou budeš používat opakovaně, jak je to v lekci.

private Random random; //takto je to správně

public Kostka() {
    ...
    random = new Random();
    ...
}

public int hod() {
    return random.nextInt(pocetSten) + 1;
}
 
Odpovědět
24.1.2024 21:40
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 136.