Portál AbcLinuxu, 2. května 2025 19:00

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Vložit další komentář
Luboš Doležel (Doli) avatar 11.6.2008 18:01 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: Semestrálka v javě, prosím o radu
Odpovědět | Sbalit | Link | Blokovat | Admin
Implementovat rozhraní java.lang.Comparable a v metodě compareTo ošetřit prázdnost záznamu tak, aby prázdný záznam byl "větší" (abcedně dál) než všechny ostatní.

Ale IMHO by bylo lepší, kdyby v programu nebylo nic jako seznamy s pevnou délkou. Raději nějaký List.
Algi avatar 11.6.2008 18:02 Algi | skóre: 1 | blog: Sinner
Rozbalit Rozbalit vše Re: Semestrálka v javě, prosím o radu
Odpovědět | Sbalit | Link | Blokovat | Admin
Proč ukládáš záznamy do pole? Proč nepoužiješ například java.util.ArrayList? Nastuduj si pojem Serializace a uvidíš, že tvoje úloha bude náhle vcelku primitivního rázu (což už takhle je :-) ). Naplň ten list svými objekty, které implementují rozhraní Serializable (viz technologie JavaBeans) a poté celý ArrayList serializuj. Je to volání jedné metody. Good luck ;-)

Druhý problém: třídění. Collections.sort(list, mySorter); - nastuduj si kolekce v Javě :-)
I'm a firestarter, twisted firestarter...
xkucf03 avatar 12.6.2008 21:05 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše Re: Semestrálka v javě, prosím o radu
Jen u té serializace bych doplnil, že by měla být do XML - člověk aspoň vidí, co mu z toho vylezlo, dá se to číst. Pokud by ti to připadalo moc velké, dá se použít komprese - triviální, stačí připsat dvě slova :-).
Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
Dent avatar 11.6.2008 18:05 Dent | skóre: 21 | blog: Standovo
Rozbalit Rozbalit vše Re: Semestrálka v javě, prosím o radu
Odpovědět | Sbalit | Link | Blokovat | Admin
Je opravdu nutné tam používat pole? Podobný projekt jsem řešil také jako semestrální práci, ale v C#. K ukládání kontaktů jsem použil obyčejný list, který má takové hezké metody jako Sort() - pokud v něm udělám díru, nic se neděje - samo se to zacelí :))
xkucf03 avatar 12.6.2008 21:06 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše Re: Semestrálka v javě, prosím o radu
Na tom C# mě rozčiluje, jak má konvence pro psaní velkých a malých písmen naschvál obráceně než v Javě :-P
Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
Dent avatar 13.6.2008 13:02 Dent | skóre: 21 | blog: Standovo
Rozbalit Rozbalit vše Re: Semestrálka v javě, prosím o radu
Jo, vy myslíte tu samou věc, která mě rozčiluje, když si zkouším programovat v Javě? :D
xkucf03 avatar 14.6.2008 00:04 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše Re: Semestrálka v javě, prosím o radu
Jenže Java tu byla dřív. MS měl raději udržet na uzdě svoji ješitnost a přijmout konvence, které tu už byly.
Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
mkoubik avatar 11.6.2008 18:06 mkoubik | skóre: 5 | blog: lorem_ipsum | Praha 8 - Bohnice
Rozbalit Rozbalit vše Re: Semestrálka v javě, prosím o radu
Odpovědět | Sbalit | Link | Blokovat | Admin
Použij LinkedList (nebo ArrayList), dokonce se s nim líp pracuje.
List seznam = new LinkedList<Trida>();

//pridani polozky
seznam.put(new Trida());

//odebrani polozky
seznam.remove(objekt);

//prochazeni seznamu
for (Trida t: seznam) {
  pridatDoGui(t);
}

Plesk! | Population | Industry
mkoubik avatar 11.6.2008 18:09 mkoubik | skóre: 5 | blog: lorem_ipsum | Praha 8 - Bohnice
Rozbalit Rozbalit vše Re: Semestrálka v javě, prosím o radu
Samozřejmě tam má být:
Link<Trida> = new LinkedList<Trida>();
11.6.2008 18:30 changeit | Bratislava
Rozbalit Rozbalit vše Re: Semestrálka v javě, prosím o radu
Odpovědět | Sbalit | Link | Blokovat | Admin
riesil som nieco podobneho tento semester (akurat to bol planovac), s Derby a Cayenne,to bolo za par hodin hotove, aj ked to asi nie je riesenie pre Teba.... Postaci ak si nastudujes Collections.
11.6.2008 19:32 ZAH | skóre: 43 | blog: ZAH
Rozbalit Rozbalit vše Re: Semestrálka v javě, prosím o radu
Odpovědět | Sbalit | Link | Blokovat | Admin
Nevím jak se stím chceš pára, ale skoro standartním řešením je JTable jako zobrazovaš a TableModel jako zdroj dat. Nadefinování TableModel je záležitostí minut. Jako příklad bez editace za to s hledáním a filtrací a zdrojem dat v XML jsou i moje PSČ najdeš je na www.zah.cz.
11.6.2008 21:58 podlesh | skóre: 38 | Freiburg im Breisgau
Rozbalit Rozbalit vše Re: Semestrálka v javě, prosím o radu
Odpovědět | Sbalit | Link | Blokovat | Admin
Objekt se vloží jako jeden prvek do pole, které má pevnou délku 100 (takže program umožňuje uložit 100 záznamů).
Za něco takového doufám na FEL ČVUT nikdo zápočet nedá!
11.6.2008 22:01 podlesh | skóre: 38 | Freiburg im Breisgau
Rozbalit Rozbalit vše Re: Semestrálka v javě, prosím o radu
Jenom upřesnění: nezáleží na jazyku.
Algi avatar 11.6.2008 22:21 Algi | skóre: 1 | blog: Sinner
Rozbalit Rozbalit vše Re: Semestrálka v javě, prosím o radu
Také mě to dost šokovalo. Něco tak čuňáckého bych si nedovolil ani v Pascalu. Krom toho, kdyby se mi někdo vymlouval, že nezná Collections API, tak by u mě také moc neuspěl. Vždy je možno vyrobit spojový seznam a to v každém jazyce. O assembleru nemluvím, protože jsem mlíčňák :-D
I'm a firestarter, twisted firestarter...
serafin avatar 11.6.2008 22:24 serafin | blog: Serafin | Chomutov
Rozbalit Rozbalit vše Re: Semestrálka v javě, prosím o radu

Pokud nemůžeš (neumíš, nechceš) přispět radou, tak se raději neozývej. Obrátil jsem se sem s prosbou o radu a pomoc, protože si nevím rady, a ne o stupidní poznámku. Java jde úplně mimo mě. Nikdy se jí věnovat nebudu, budu studovat obor Elektronika a sdělovací technika. Aplikace výpočetní techniky není prográmátorsky zaměřený předmět. Cituji z oficiální stránky předmětu:

Cílem předmětu je získat přehled o základních aplikacích výpočetní techniky.

Všem ostatním, kteří se mi snaží pomoci, ještě jednou děkuji.

11.6.2008 22:33 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
Rozbalit Rozbalit vše Re: Semestrálka v javě, prosím o radu
Java jde úplně mimo mě. Nikdy se jí věnovat nebudu, budu studovat obor Elektronika a sdělovací technika.
Jistě. Jeden kamarád vystudoval právě tenhle obor, a momentálně pracuje v softwarové firmě ;-)
Ještě na tom nejsem tak špatně, abych četl Viewegha.
11.6.2008 22:38 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
Rozbalit Rozbalit vše Re: Semestrálka v javě, prosím o radu
Jinak všechno ostatní už tu bylo řečeno. Nepoužívat pole, ale seznam, objekty nechť jsou serializovatelné, uložení na disk a opětovné načtení lze pak provést použitím ObjectInputStreamu a ObjectOutputStreamu, řazení lze snadno udělat implementací Comparatoru nebo Comparable (spíš bych se v tomhle případě přimlouval za ten komparátor) a použitím metody Collections.sort.
Ještě na tom nejsem tak špatně, abych četl Viewegha.
11.6.2008 23:24 podlesh | skóre: 38 | Freiburg im Breisgau
Rozbalit Rozbalit vše Re: Semestrálka v javě, prosím o radu
Kdyby jeden... pokud počítám všechny FELy v ČR, tak znám asi půldruhého tuctu takových lidí.
11.6.2008 23:30 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
Rozbalit Rozbalit vše Re: Semestrálka v javě, prosím o radu
Tomu se vůbec nedivím. Ostatně jakékoliv tvrzení "nikdy nebudu dělat XYZ" ve mně zcela automaticky vyvolává pochyby a lehce ironický úsměv. Tedy pokud zrovna normální člověk netvrdí "nikdy nepůjdu do politiky", tomu se nerozpakuju uvěřit :-)
Ještě na tom nejsem tak špatně, abych četl Viewegha.
finc avatar 11.6.2008 22:39 finc | skóre: 8 | blog: Finc | Kolín
Rozbalit Rozbalit vše Re: Semestrálka v javě, prosím o radu
Ale ten problem je v tom, ze dostanes zkresleny spatny "prehled".

Jinak, ten tvuj ukol je tak trivialni, ze to neni o tom, zda Javu ovladas ci nikoli.

Staci si nastudovat Collection API, zakladni funkcnost Swingu a nemuzes mit s danym ukolem problem.

Pokud bych nebyl limitovany sktrukturou souboru, nejlepsi reseni by bylo pouzit XML. Pomoci JAXB je serializace a deserializace otazkou par chvil. Navic struktura bude zrcadlit tvuj data objekt s moznosti jednoduche validace.
Kdo Vam dal pravo ty lidi urazet? A kdo ti dal pravo cumet z okna, ty kr.vo!
11.6.2008 23:23 podlesh | skóre: 38 | Freiburg im Breisgau
Rozbalit Rozbalit vše Re: Semestrálka v javě, prosím o radu
Dobře, tak to trochu přeformuluji:

1) Používání polí o pevné velikosti je závažná vada, která nebývá tolerována.

2) Nezávisí na jazyku, takže informace "nikdy se Javě věnovat nebudu" nemá žádnou souvislost - stejný problém bude v C, Pascalu, C# a spoustě dalších.

3) Je propastný rozdíl mezi "nikdy se nebudu věnovat Javě" a "nikdy nebudu programovat!" Pokud platí to druhé, tak se to dá akceptovat... i když to je pravděpodobně velmi mylná představa.
11.6.2008 23:44 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Semestrálka v javě, prosím o radu
Pokud nemůžeš (neumíš, nechceš) přispět radou, tak se raději neozývej.
Nebuď nafučenej a vem to, co bylo napsáno, jako radu - a nepoužívej pole tak, jak to píšeš. Je to prasárna, kravina a i když to vypadá jednoduše, zbytečně si tím způsobuješ ty problémy, na jejichž řešení se ptáš...
Nikdy se jí věnovat nebudu, budu studovat obor Elektronika a sdělovací technika.
Jestli si myslíš, že tam se programování vyhneš, tak jsi na omylu.
Quando omni flunkus moritati
13.6.2008 09:48 petr
Rozbalit Rozbalit vše Re: Semestrálka v javě, prosím o radu
Přesně takováto úloha kategorie "yet another factorial" či "yet another telephone book" byla posledním hřebíčkem do mé školní rakve. Docela ho chápu, že mu to nevoní. Je to k ničemu a jediný, co se na tom naučí, je flákání. "Prostě to nějak udělám, aby to nehučelo. Hlavně abych dostal zápočet."
13.6.2008 14:36 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Semestrálka v javě, prosím o radu
Je to k ničemu a jediný, co se na tom naučí, je flákání.
A nebo třeba jak hledat v dokumentaci. Jak pracovat se strukturami. Výhoda takovéhle úlohy je v tom, že se to dá udělat i složitě (XML tuhle, serializace támhle, vhodné pro někoho, kdo se chce dál zabývat programování) i jednoduše (využiju pár věcí z knihovny a mám to hotové, vhodné pro lidi, kteří s Javou už nebudou mít v dalším studiu nic společného)

Že ty ses u toho učil flákání, je tvůj problém, není to všeobecné.
Quando omni flunkus moritati
13.6.2008 17:31 petr
Rozbalit Rozbalit vše Re: Semestrálka v javě, prosím o radu
Že ty ses u toho učil flákání, je tvůj problém, není to všeobecné.
Asi se neznám dostatečně detailně. Zato vy máte o mých posledních osmi letech života perfektní přehled :-D
13.6.2008 21:44 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Semestrálka v javě, prosím o radu
Je to k ničemu a jediný, co se na tom naučí, je flákání.
Takže to nebylo o tobě? Pak je ovšem zjevné, že zatímco já tě neznám dostatečně detailně, ty asi znáš dostatečně detailně pisatele blogu...
Quando omni flunkus moritati
13.6.2008 21:59 petr
Rozbalit Rozbalit vše Re: Semestrálka v javě, prosím o radu
Ne-e, o mně to rozhodně nebylo. Jen je to výsledek, který denodenně pozoruji v práci. Více jsem o tom psal třeba tady. Pisatele blogu také neznám. Jen jsem napsal, co se tím naučí. Svědčí o tom i to, že tady žádá o pomoc. Kdyby to chtěl skutečně dotáhnout, tak naštuduje JavaDoc Java SE, naštuduje Design Patterny a napostuje sem řešení, ke kterému došel, aby mu to zkušení vývojáři okomentovali.
xkucf03 avatar 14.6.2008 00:09 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše Re: Semestrálka v javě, prosím o radu
Jo, ty bys radši jako první semestrálku navrhoval třívrstvou architekturu nějaké enterprise aplikace? Jenže na tom by se nenaučil už vůbec nic - vylámal by si na tom zuby a přivodil psychické potíže* - pokud by to bylo jeho první programování v javě.

Začínat se musí od jednoduchého** - klidně úkoly, které jsou neužitečné a zdají se být na nic nebo příliš primitivní.

*) možná i poruchu osobnosti

** to říkal už Lenin (a mnozí před ním :-) )
Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
xkucf03 avatar 12.6.2008 21:15 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše Re: Semestrálka v javě, prosím o radu
Proč ne? To, že jsou kolekce mnohem užitečnější, přece neznamená, že by se lidem měla zatajovat existence polí a jít rovnou na kolekce. Aspoň si jich pak budou víc vážit :-) Pole mají i výhody: dají se třeba prvky uvést kódu výčtem {"a", "b", "c"}
Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
13.6.2008 22:23 petr
Rozbalit Rozbalit vše Re: Semestrálka v javě, prosím o radu
Ale konvertuj to pak na ten ArrayList<String> :-D
mkoubik avatar 15.6.2008 18:12 mkoubik | skóre: 5 | blog: lorem_ipsum | Praha 8 - Bohnice
Rozbalit Rozbalit vše Re: Semestrálka v javě, prosím o radu
Myslíš takhle:
String[] array = { "a", "b", "c"};
ArrayList<String> list = Arrays.asList(array)
?
serafin avatar 11.6.2008 22:10 serafin | blog: Serafin | Chomutov
Rozbalit Rozbalit vše Re: Semestrálka v javě, prosím o radu
Odpovědět | Sbalit | Link | Blokovat | Admin
Děkuji všem za rady, o víkendu vyzkouším a dám vědět.
12.6.2008 08:45 PMD
Rozbalit Rozbalit vše Re: Semestrálka v javě, prosím o radu
Podívej se taky na tohle.
xkucf03 avatar 12.6.2008 21:02 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše Re: Semestrálka v javě, prosím o radu
Odpovědět | Sbalit | Link | Blokovat | Admin
Zmatené to není, ale chtělo by to vědět, jestli tě vyučující chtějí naučit psát třídící algoritmus* nebo naučit využívat možností Javy. Tohle se dá snadno a efektivně napsat na pár řádů - jak třídění, tak ukládání do souboru (stačí serializovat do XML, následně to můžeš zagzipovat). Nebo ten adresář má simulovat telefonní seznam na SIMce? Kde jsou záznamy taky na pevně daných pozicích a mezery mezi nimi jsou normální.

Jedno drobné doporučení**: textová pole nevkládej jen tak na formulář, ale vyrob si GUI komponentu (třídu, potomka panelu) ZobrazovačOsoby, který bude mít metody na nastavení osoby a zase její získání. Tím můžeš snadno oddělit listovací a ukládácí logiku od zobrazování a editaci kontaktů. A pomůže ti to ve znovupoužitelnosti kódu (i když v tomto případě je to jen tak pro procvičení).

*) což je spíš tak pro radost, v praxi stejně v 99% použiješ už hotové algoritmy, API, knihovny...

**) možná to tak už máš.
Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
Algi avatar 12.6.2008 21:30 Algi | skóre: 1 | blog: Sinner
Rozbalit Rozbalit vše Re: Semestrálka v javě, prosím o radu
Ale fuj, snad bys nepoužíval háčky a čárky v názvech tříd jako pan Pecinovský :-)
I'm a firestarter, twisted firestarter...
xkucf03 avatar 12.6.2008 22:15 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše Re: Semestrálka v javě, prosím o radu
Takhle pro ilustraci píšu názvy česky. Do kódu názvy tříd a proměnných, metod píšu cesky, bez háčků a čárek. Ale taky už jsem si říkal, že udělám jeden projekt jen tak z legrace kompletně česky, jako důkaz že to jde (nebo naopak nejde).
Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
12.6.2008 22:59 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
Rozbalit Rozbalit vše Re: Semestrálka v javě, prosím o radu
Já si to vyzkoušel právě na semestrálce, a seznal jsem, že v IDE to jde, ale konzolové nástroje (tedy ve Windows) s tím měly strašné problémy. Jinak identifikátory píšu zásadně v angličtině (komentáře zatím většinou ne).
Ještě na tom nejsem tak špatně, abych četl Viewegha.
xkucf03 avatar 12.6.2008 23:09 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše Re: Semestrálka v javě, prosím o radu
Tak Windows jsou tragédie - používat v jednom OS dvě kódování, jedno v konsoli a jedno v GUI, je fakt k smíchu. Já zase píšu zásadně česky (resp. identifikátory bez diakritiky), pokud mě k angličtině nenutí pravidla projektu.
Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
13.6.2008 21:45 petr
Rozbalit Rozbalit vše Re: Semestrálka v javě, prosím o radu
No, co já vím, tak Java je celá Unicode-based, takže bys klidně mohl tu diakritiku používat. Dokonce to i funguje :-D
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package local.sandbox;

/**
 *
 * @author petr
 */
public class HlavníTřída {
    
    public void udělejTo(String tadyMášArgument) {
        System.out.println(tadyMášArgument);
    }
    
    public static void main(String[] args) {
        HlavníTřída hlavníTřída = new HlavníTřída();
        
        hlavníTřída.udělejTo("Nějaký řetězec");
        
        System.exit(0);
    }
    
}
Ale abych řekl pravdu, vypadá to pěkně, ale psát se to nedá :-D
xkucf03 avatar 14.6.2008 00:14 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše Re: Semestrálka v javě, prosím o radu
Něco podobného jsem si už zkoušel, ale mohou se vyskytovat problémy s přenositelností na jiné OS (konkrétně Windows), případně kódování v jaru/zipu - ještě jsem to netestoval tak důkladně, abych mohl diakritiku v identifikátorech* s jistotou používat.

*) a názvech tříd, což jsou i názvy souborů na disku.
Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
14.6.2008 01:11 petr
Rozbalit Rozbalit vše Re: Semestrálka v javě, prosím o radu
No, co se diakritiky v Jarech týče, tak na Sunní implementaci je hlášeno "hápéčko". Teď se mi to hledat nechce. Ale je. Takže "pure english" je vítané. Osobně píši zdrojové kódy v angličtině včetně dokumentace. Po zkušenostech vím, že "lámaná" angličtina je lepší než dokonalá čeština. Ale to platí u nás v podniku a v Sunním Open Source. ;-)
xkucf03 avatar 14.6.2008 10:49 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše Re: Semestrálka v javě, prosím o radu
"Sunním Open Source" možná česká lámaná angličtina převládne a bude standardem :-D Jinak ale nesouhlasím: pokud máš většinu spolupracovníků Čechů, tak je lepší čeština (v kódu i komentářích) - protože to, že někdo používá anglická slovíčka, ještě neznamená, že je to angličtina, které se dá rozumět, resp. že jí budou jiní rozumět stejně jako ty. Tenhle problém při použití rodného jazyka není.

Už jsem se popral i se zdrojákem v italštině a nebylo to zase o moc horší než lámaná angličtina :-)
Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
13.6.2008 22:27 petr
Rozbalit Rozbalit vše Re: Semestrálka v javě, prosím o radu
A pomůže ti to ve znovupoužitelnosti kódu
Jak tohle použije na faktoriál, který ho čeká následující semestr? :-o
serafin avatar 17.6.2008 22:41 serafin | blog: Serafin | Chomutov
Rozbalit Rozbalit vše Re: Semestrálka v javě, prosím o radu
Odpovědět | Sbalit | Link | Blokovat | Admin
Ještě jednou děkuji všem za rady a za čas, který mi zde věnovali. Zápočet jsem dostal. Děkuji.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.