JAVA - priklady – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

JAVA - priklady – Java – Fórum – Programujte.comJAVA - priklady – Java – Fórum – Programujte.com

 

Pavel
~ Anonymní uživatel
383 příspěvků
4. 1. 2010   #1
-
0
-

Ahoj,
blizi se mi zkouzka z programovani(1. rocnik VS), a narazil sem na jedno ukazkove zadani(viz. nize), tak bych chtel poprosit o "nastineni reseni".....neco bych take vymyslel, jen me zajima, jak by to resili zkusenejsi a lepsi programatori nez jsem ja.......
diky

1. [5 bodů] Vytvořte třídu Clovek reprezentující jednoho člověka s vlastnostmi jméno, příjmení a věk. Pro všechny atributy napište setry a getry.
2. [5 bodů] Pro třídu Clovek vhodně zastiňte metody toString - vrátí iformaci o osobě, equals - dvě osoby jsou stejné, pokud se shodují jejich jména, příjmení i věk, vhodně zvolte metodu hashCode.
3. [5 bodů] Třídu Clovek doplňte o možnost přirozeného řazení - implementujte vhodné rozhraní. Nejprve řaďte podle příjmení, při jejich shodě podle jména a při shodě podle věku.
4. [5 bodů] Vytvořte třídu umožňující řadit lidi podle věku, při jejich shodě podle příjmení a potom podle jména.
5. [5 bodů] Vytvořte třídu reprezentující frontu zákazníků (použijte zřetězený seznam) - instancí třídy člověk. Tato fronta bude mít metody pro vložení Clovek-a, vybrání z čela a zjištění, zda je fronta prázdná.


1., 2. a 5. je mi celkem jasna, ale u zbylych, si nejsem jist, co by bylo nejvhodnejdi pouzit.........?
predem diky za rady :-)

Nahlásit jako SPAM
IP: 88.101.151.–
Foowie0
Newbie
4. 1. 2010   #2
-
0
-

Vygoogli si:
3) interface Comparable<Clovek>
4) class Comparator

Nahlásit jako SPAM
IP: 62.129.36.–
Pavel
~ Anonymní uživatel
383 příspěvků
4. 1. 2010   #3
-
0
-

To Foowie : diky :-)
AHoj, diky za typ :-)
tak uz sem si neco zkusil vytvorit.....vytvotil sem si Tridu clovek s clenskymi promennynmi jmeno, prijemni, vek, telefoni cislo + setry a getry + zastinil metody toString(), implementoval sem rozhrani Comparable, implentoval jeho metodu int compareTo()......

ve druhe tride vytvorim List "Cloveku" :-D a radim ho... vse je OK a funguje(pokud radim podle veku),
jen se mi nejak nedari to seradit podle jmena -
nevim, jak mam ziskat tu clenskou promenmou jmeno.....?? :-(


diky za rady :-)

trida Clovek: http://pastebin.com/m317ab129
trida Test: http://pastebin.com/m6e4cc751

Nahlásit jako SPAM
IP: 88.101.151.–
Foowie0
Newbie
4. 1. 2010   #4
-
0
-

Máš 2 možnoti:
1) Místo Comparable budeš implementovat Comparable<Clovek> - pokud jste se učili co jsou to generické typy
2) Přetypuješ Object na Clovek a přistoupíš k property přímo, nebo přes getter - když pracuješ mimo třídu Clovek:

public int compareTo(Object clovek) {

Clovek mujClovek = (Clovek)clovek;
mujClovek.getJmeno() ...


"3. [5 bodů] Třídu Clovek doplňte o možnost přirozeného řazení - implementujte vhodné rozhraní. Nejprve řaďte podle příjmení, při jejich shodě podle jména a při shodě podle věku."

Podle zadání 3. máš udělat řazení dle příjmení. Pokud bude příjmení shodné, má se dále rozhodovat podle jména a pak podle věku. Ty, co se koukám, rozhoduješ jenom podle jména.

    /**

* razeni dle jmena
* @param clovek
* @return
*/
public int compareTo(Object clovek) {
String jmeno = this.jmeno;
String jmeno2 = ((Clovek)clovek).jmeno;

if (jmeno.compareToIgnoreCase(jmeno2) == 0) {
return 0; <-- chyba, tady má být rozhodování podle dalšího parametru ...
} else if (jmeno.compareToIgnoreCase(jmeno2) > 0) {
return 1;
} else {
return -1;
}
}


"4. [5 bodů] Vytvořte třídu umožňující řadit lidi podle věku, při jejich shodě podle příjmení a potom podle jména."
Na tohle musíš vytvořít (novou) třídu, která bude implementovat Comparator. Viz google - "java comparator"

Nahlásit jako SPAM
IP: 62.129.36.–
Pavel
~ Anonymní uživatel
383 příspěvků
4. 1. 2010   #5
-
0
-

razeni podle jmena uz jsem rozchodil pomoci : implements Comparator <Clovek>

ted este to aby se radilo i podle dalsich parametru (pri shode)........

diky za rady

Nahlásit jako SPAM
IP: 88.101.151.–
Pavel
~ Anonymní uživatel
383 příspěvků
4. 1. 2010   #6
-
0
-

To Foowie :
tak uz sem to nak vyresil(jen sem se presne nedrzel zadani ale zakomponoval jsem to do jiz hotove tridy Propiska - nechtelo se mi delat novou tridu.....):

trida Propiska: http://pastebin.com/m3fdec390
trida Test: http://pastebin.com/m5cfff431

je to resene spravne?? nebo byste neco zmenili??

diky za rady

Nahlásit jako SPAM
IP: 88.101.151.–
Foowie0
Newbie
4. 1. 2010   #7
-
0
-

1, 2, 3 by šly.
4 tam nevidím a 5 je na pováženou jestli v zadání nechtěli vytvořit třídu která by uměla ty 3 metody ze zadání.
Jinak pokud jste se učili generiky tak bych je tam taky použil.

Nahlásit jako SPAM
IP: 62.129.36.–
mikrop0
Duch
23. 1. 2010   #8
-
0
-
Nahlásit jako SPAM
IP: 81.201.60.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 23 hostů

Podobná vlákna

Příklady na C# — založil OndraT

C++ priklady — založil noob

Priklady — založil Andrea

Priklady — založil Ja

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý