Diskuze: Java-vícerozměrné pole
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 8 zpráv z 8.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
První písmeno zleva na SPZ označuje kraj, ve kterém bylo vozidlo registrováno:
A – Praha
B – Jihomoravský kraj
C – Jihočeský kraj
E – Pardubický kraj
H – Královéhradecký kraj
J – Kraj Vysočina
K – Karlovarský kraj
L – Liberecký kraj
M – Olomoucký kraj
P – Plzeňský kraj
S – Středočeský kraj
T – Moravskoslezský kraj
U – Ústecký kraj
Z – Zlínský kraj
Vytvoříš 2D pole o 2 sloupcích a řádcích rovno počtu krajů. První sloupec udává označení pro kraj, druhý sloupec odpovídající kraj.
Z SPZ přečteš první písmeno, najdeš pozici kde se poli nachází, vypíšeš hodnotu druhého sloupce daného záznamu. Toť vše.
Popravdě nechápu, proč toto řeší přes vícerozměrná pole.
Toto je krásný příklad pro výčtový typ
Ach jo... to zase nějaký "taky učitel" učí o více rozměrném poli a
pak použije pravidlo, že když to jde napsat prasácky, tak to dětem
zadám.
Tady by skutečně bylo nejjednodušší řešení - výčtový typ, tam si
zadám jako jednotlivé názvy výše uvedená písmenka, jako atribut u
jednotlivých položek zadám Stringovou hodnotu (čili název kraje). Potom ve
výčtovém typu navrkám metodu getKraj(), která mi u každého písmenka
tento text vrátí.
Ok, byla by tam potřeba ještě procházet a porovnávat, jestli dané enum
takovou značku má (stejně bys to v ideálním případě musel porovnávat,
jestli je vstup nenullový, jestli vůbec dané enum takovou značku má,
atd.)
Chápu, že v neobjektovém jazyce by se to tak řešilo. Samozřejmě
značka ideál v dnešní době webových služeb by bylo, nejlepší mít
takový výčet zanesený v databázi a dotahovat to pomocí restové služby,
ale rvát to do polí... a potom logiku tohoto pole někde hledat v kódu...
nechápu, proč se toto takhle učí
Už jen tady na itnetwork je řada krásných příkladů využití pole, ale
toto je skutečně ukázkový příklad na enum (už i jak to DarkCoder hezky
vypsal, tak to poslední, co by člověka napadlo, že by to rval do
dvourozměrného pole).
Případně mě ještě napadá mapa, tam by to ještě také šlo a bylo by to malinko úspornější. Vyhledávání by sis nemusel psát růčo, ale jednoduše bys použil metodu containsKey(String).
Jiný způsob za použití 2D pole. Vytvořit 2D pole o velikosti 'Z'-'A'+1, 2. Naplnit jej daty do indexu odpovídající ASCII hodnotě počátečního písmena. Přečte se SPZ, vytáhne se první znak, provede se validita na písmeno, převede se na velké, následně je třeba získat ASCII hodnotu znaku, odečte se hodnota 'A', což v tu chvíli představuje adekvátní index. Stačí jen vypsat hodnotu na pozici index, 1. Výhodou je přímý přístup k datům bez nutnosti vyhledávání a porovnávání dát v databázi (poli).
bohužel to musím udělat tak, jak požaduje, ale děkuji moc
No, tak jestli ti můžu na to něco říct... Nevím, jestli jsi na
střední nebo na vysoké, ale to je fuk.
Neboj se nikdy investovat do vzdělání. Tady na itnetwork jsou skvělé
tutoriály a vidíš sám třeba na příkladu DarkCodera, že se tu vždy
najdou ochotní típci, kteří ti rádi pomůžou (pak jsou tu takoví, jako
já, kteří k tomu mají i blbé kecy )
Pokud by ses chtěl naučit programovat, tak si kup celé balíčky tady na
itnetwork. Má to smysl a tady se vážně základy dobře naučíš. Když ti
nebude něco jasné, můžeš se zeptat.
Skutečně se na toho učitele vykašli, bude tě učit špatnému myšlení a špatné návyky.
PS: příště ukaž aspoň minimální snahu. Toto zadání nebylo nikterak
těžké a zvládl bys to po jednom dni, který bys strávil nad zdejšími
tutoriály (i s tím, že bys předtím ani netušil, že pro Javu potřebuješ
nějaký virtuální stroj). Když máš v zadání - napište metodu,
která....
Tak sem příště aspoň pichni třeba prázdnou metodu nebo metodu, která
něco vypisuje, prostě něco - ať jde vidět aspoň malá snaha.
Prázdná metoda je 0,05% z celého úkolu. Ale tys nepředvedl ani tohle. Neboj
se i předvádět špatné řešení. Pokud jsi začátečník, tak máš na
chyby právo. Dokonce si myslím, že jako začátečník MUSÍŠ dělat chyby.
Na těch se to nejlépe naučíš.
(Ale samozřejmě... musíš dělat chyby, ale zároveň je i musíš chtít a
umět napravovat Ne, že je
dobře, že budeš dělat jenom chyby
)
Každopádně na toho učitele se vykašli. Ten tě očividně kazí. Raději se pořádně zavrtej sem do zdejších tutoriálů. Věz, že třeba David Čápka a spousta redaktorů si na tomto webu dává záležet a já osobně věřím, že všichni chtějí, aby to pomohlo vychovat kvalitní programátory.
Zobrazeno 8 zpráv z 8.