Settlement a jejich DB
Zadání
Vytvořte třídy QuarterImpl a CityImpl implementující
rozhraní Quarter a City s jejich konstruktory
a metodami vyžadovanými v přiložené dokumentaci
a rozšiřující poskytnutou abstraktní třídu SettlementImpl
implementující poskytnuté rozhraní Settlement. Quarter i.e. městská část
má obyvatele, ty velké město nemá, za to má městské části
(a ty mají obyvatele). Quarter i.e. městská část má jméno
obce, jméno starosty, počet obyvatel
a velké město, které je velkým
městem - tedy instancí třídy CityImpl. City i.e. velké město
má jméno obce, jméno starosty, jenž je titulován primátor,
a své části - tedy městské části - tedy
instance třídy QuarterImpl.
Standardní metoda převádějící na znakový řetězec (toString())
-
pro městskou část "Mestska cast: jméno městské části; starosta:
jméno starosty; pocet obyvatel: počet obyvatel"
pro jistotu ještě jednou a mezeru
(nejvýše jednu) nahradíme znakem '_':
"Mestska_cast:_jméno městské části;_starosta:_
jméno starosty;_pocet_obyvatel:_počet obyvatel"
-
pro velké město "Velke mesto: jméno velkého města; primator:
jméno starosty; pocet obyvatel: počet obyvatel"
pro jistotu ještě jednou a mezeru
(nejvýše jednu) nahradíme znakem '_':
"Velke_mesto:_jméno velkého města;_primator:_
jméno starosty;_pocet_obyvatel:_počet obyvatel"
Metoda info() vrátí znakový řetězec
-
pro městskou část standardní
převedení (metoda toString()) navic s informací jakého velkého města je
částí "Mestska cast: jméno městské části; starosta: jména
starosty; pocet obyvatel: počet obyvatel; je casti
velkeho mesta jméno velkého města, jehož je částí"
s přiřetězeným přechodem na nový řádek přidaný za.
- pro velké město standardní
převedení (metoda toString()) se seznamem jeho částí (každá
na nový řádek a odsazená třemi mezerami) a opět
s přiřetězeným přechodem
na nový řádek přidaný za. Seznam městských částí má být seřazen
podle jejich jmen.
Výstup obou předchozích metod je poměrně rigidně kontrolován
v testovacích a hodnotícím programu. Proto máte možnost
si výstup,
svého řešení porovnat zavoláním metody main v programu AA
se vzorovým řešením, které je dále v zadání.
Další metody, které obě třídy (QuarterImpl a CityImpl) musí mít,
jsou zřejmé z přiložené dokumentace.
Metoda
- include městské části (Quarter),
pro kterou je volána ji včlení do velkého města (City),
zadaného jakožto parametr.
- incorporate velkého města (City), pro které
je volána do něj včlení městskou část (Quarter), zadanou
jakožto parametr.
Vytvořte také metodu searchByKey do třídy DatabaseOfSettlementImpl
implementující rozhraní DatabaseOfSettlement. Tato metoda searchByKey
vrátí setříděnou množinu obci tj. jak velkých měst (City),
tak i městských čtvrtí (Quarter), jejichž slova názvu začínají zadaným
znakovým řetězcem anebo jednotlivá jména jejichž starostů začínají
zadaným znakovým řetězcem. Slova v názvu nebo jména ve jméně starostů
jsou oddělena právě jednou mezerou.
Používejte výhradně poskytnuté třídy (SettlementImpl, neúplnou
DatabaseOfSettlementImpl, ObceException a DBObciException.
K disposici máte také rozhraní (interface) Settlement, Quarter, City
a DBOfSettlement. Poskytnuté třídy, kromě
DatabaseOfSettlementImpl, kterou naopak máte dopsat, a vstupní
soubory neměňte.
Dokumentace rozhraní Quarter
a City, jež máte k disposici, a tříd QuarterImpl a CityImpl
je implementující, jež máte napsat
Interface Quarter
- All Superinterfaces:
- java.lang.Comparable<Settlement>, Settlement
public interface Quarter
- extends Settlement
Method Summary |
void |
include(City velkeMesto)
vcleni objekt implemetujici rozhrani Quarter - mestskou ctvrt
do objektu implemetujiciho rozhrani City - velkeho mesta |
void |
setPopulation(int pocetObyvatel)
|
Methods inherited from interface Settlement |
getNameOfMayor, getNameOfSettlement, getPopulation, info, setNameOfMayor |
Methods inherited from interface java.lang.Comparable |
compareTo |
setPopulation
void setPopulation(int pocetObyvatel)
throws SettlException
- Parameters:
pocetObyvatel
- je pocet obyvatel obce typu int,
na nejz by mel byt nastaven
- Throws:
SettlException,
- jestlize se pokusi nastavit pocet obyvatel
na zaporne cislo
SettlException
include
void include(City velkeMesto)
throws SettlException
- vcleni objekt implemetujici rozhrani Quarter - mestskou ctvrt
do objektu implemetujiciho rozhrani City - velkeho mesta
- Parameters:
velkeMesto
- - objekt implemetujici rozhrani City
- Throws:
SettlException,
- jestlize se pokusi zaclenit mestskou cast,
ktera je jiz zaclenena
SettlException
Class QuarterImpl
java.lang.Object
SettlementImpl
QuarterImpl
- All Implemented Interfaces:
- java.lang.Comparable<Settlement>, Quarter, Settlement
public class QuarterImpl
- extends SettlementImpl
- implements Quarter
Constructor Summary |
QuarterImpl(java.lang.String jmMC)
Constructor for objects of class QuarterImpl |
Method Summary |
int |
getPopulation()
|
void |
include(City c)
vcleni objekt implemetujici rozhrani Quarter - mestskou ctvrt
do objektu implemetujiciho rozhrani City - velkeho mesta |
java.lang.String |
info()
metoda poskytuje
informace o obci: typ obce: jmeno obce; titul starosty
jmena starosty; pocet obyvatel, u mestske casti ceho je casti
a uvelkeho mesta jeste na dalsi radky seznam jeho casti |
void |
setPopulation(int poc)
|
java.lang.String |
toString()
|
Methods inherited from class SettlementImpl |
compareTo, equals, getNameOfMayor, getNameOfSettlement, hashCode, setNameOfMayor |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface Settlement |
getNameOfMayor, getNameOfSettlement, setNameOfMayor |
Methods inherited from interface java.lang.Comparable |
compareTo |
QuarterImpl
public QuarterImpl(java.lang.String jmMC)
- Constructor for objects of class QuarterImpl
setPopulation
public void setPopulation(int poc)
throws SettlException
- Specified by:
setPopulation
in interface Quarter
- Parameters:
poc
- je pocet obyvatel typu int, na nejz by mel byt nastaven
- Throws:
SettlException,
- jestlize se pokusi nastavit pocet obyvatel
na zaporne cislo
SettlException
getPopulation
public int getPopulation()
- Specified by:
getPopulation
in interface Settlement
- Specified by:
getPopulation
in class SettlementImpl
- Returns:
- pocet obyvatel obce typu int
include
public void include(City c)
throws SettlException
- vcleni objekt implemetujici rozhrani Quarter - mestskou ctvrt
do objektu implemetujiciho rozhrani City - velkeho mesta
- Specified by:
include
in interface Quarter
- Parameters:
c
- je velkeMesto - objekt implemetujici rozhrani City
- Throws:
SettlException,
- jestlize se pokusi zaclenit mestskou cast,
ktera je jiz zaclenena
SettlException
info
public java.lang.String info()
- metoda poskytuje informace o obci: typ obce: jmeno obce; titul starosty
jmena starosty; pocet obyvatel, u mestske casti ceho je casti
a uvelkeho mesta jeste na dalsi radky seznam jeho casti
- Specified by:
info
in interface Settlement
- Specified by:
info
in class SettlementImpl
- Returns:
- informace o obci typu String
toString
public java.lang.String toString()
- Overrides:
toString
in class java.lang.Object
Interface City
- All Superinterfaces:
- java.lang.Comparable<Settlement>, Settlement
public interface City
- extends Settlement
Method Summary |
void |
incorporate(Quarter ctvrt)
vcleni do objektu implemetujiciho rozhrani City - velkeho mesta
objekt implemetujici rozhrani Quarter - mestskou ctvrt |
Methods inherited from interface Settlement |
getNameOfMayor, getNameOfSettlement, getPopulation, info, setNameOfMayor |
Methods inherited from interface java.lang.Comparable |
compareTo |
incorporate
void incorporate(Quarter ctvrt)
throws SettlException
- vcleni do objektu implemetujiciho rozhrani City - velkeho mesta
objekt implemetujici rozhrani Quarter - mestskou ctvrt
- Parameters:
ctvrt
- - objekt implemetujici rozhrani Quarter
- Throws:
SettlException,
- jestlize se pokusi zaclenit mestskou cast,
ktera je jiz zaclenena
SettlException
Class CityImpl
java.lang.Object
SettlementImpl
CityImpl
- All Implemented Interfaces:
- City, java.lang.Comparable<Settlement>, Settlement
public class CityImpl
- extends SettlementImpl
- implements City
Write a description of class VelkeMesto here.
Constructor Summary |
CityImpl(java.lang.String jmObce)
Constructor for objects of class VelkeMesto |
Method Summary |
int |
getPopulation()
|
void |
incorporate(Quarter q)
vcleni do objektu implemetujiciho rozhrani City - velkeho mesta
objekt implemetujici rozhrani Quarter - mestskou ctvrt |
java.lang.String |
info()
|
java.lang.String |
toString()
|
Methods inherited from class SettlementImpl |
compareTo, equals, getNameOfMayor, getNameOfSettlement, hashCode, setNameOfMayor |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface Settlement |
getNameOfMayor, getNameOfSettlement, setNameOfMayor |
Methods inherited from interface java.lang.Comparable |
compareTo |
CityImpl
public CityImpl(java.lang.String jmObce)
- Constructor for objects of class VelkeMesto
getPopulation
public int getPopulation()
- Specified by:
getPopulation
in interface Settlement
- Specified by:
getPopulation
in class SettlementImpl
- Returns:
- pocet obyvatel obce typu int
incorporate
public void incorporate(Quarter q)
throws SettlException
- vcleni do objektu implemetujiciho rozhrani City - velkeho mesta
objekt implemetujici rozhrani Quarter - mestskou ctvrt
- Specified by:
incorporate
in interface City
- Parameters:
q
- je ctvrt - objekt implemetujici rozhrani Quarter
- Throws:
SettlException,
- jestlize se pokusi zaclenit mestskou cast,
ktera je jiz zaclenena
SettlException
info
public java.lang.String info()
- Specified by:
info
in interface Settlement
- Specified by:
info
in class SettlementImpl
toString
public java.lang.String toString()
- Overrides:
toString
in class java.lang.Object
Dokumentace rozhraní Settlement
a abstraktní třídy SettlementImpl ho implementující,
jež obě máte k disposici
Interface Settlement
- All Superinterfaces:
- java.lang.Comparable<Settlement>
public interface Settlement
- extends java.lang.Comparable<Settlement>
Method Summary |
java.lang.String |
getNameOfMayor()
|
java.lang.String |
getNameOfSettlement()
|
int |
getPopulation()
|
java.lang.String |
info()
metoda poskytuje informace o obci: typ obce: jmeno obce; titul starosty
jmena starosty; pocet obyvatel, u mestske casti ceho je casti
a uvelkeho mesta jeste na dalsi radky seznam jeho casti |
void |
setNameOfMayor(java.lang.String jmeno)
|
Methods inherited from interface java.lang.Comparable |
compareTo |
getNameOfSettlement
java.lang.String getNameOfSettlement()
- Returns:
- jmeno obce typu String
setNameOfMayor
void setNameOfMayor(java.lang.String jmeno)
- Parameters:
jmeno
- starosty obce typu String
getNameOfMayor
java.lang.String getNameOfMayor()
- Returns:
- jmeno starosty obce typu String
getPopulation
int getPopulation()
- Returns:
- pocet obyvatel obce typu int
info
java.lang.String info()
- metoda poskytuje informace o obci: typ obce: jmeno obce; titul starosty
jmena starosty; pocet obyvatel, u mestske casti ceho je casti
a uvelkeho mesta jeste na dalsi radky seznam jeho casti
- Returns:
- informace o obci typu String
Class SettlementImpl
java.lang.Object
SettlementImpl
- All Implemented Interfaces:
- java.lang.Comparable<Settlement>, Settlement
public abstract class SettlementImpl
- extends java.lang.Object
- implements Settlement
Abstract class ObecAbstrImpl - realisuje nektere metody predepsane v rozhrani
Obec
Method Summary |
int |
compareTo(Settlement o)
pro porovnani obci se pouziva porovnani jmen obci |
boolean |
equals(java.lang.Object o)
pro test rovnosti obci se pouziva test rovnosti jmen obci |
java.lang.String |
getNameOfMayor()
|
java.lang.String |
getNameOfSettlement()
|
abstract int |
getPopulation()
|
int |
hashCode()
jako hashovaci kod obce se pouziva hashovaci kod jmena obce |
abstract java.lang.String |
info()
metoda poskytuje informace o obci: typ obce: jmeno obce; titul starosty
jmena starosty; pocet obyvatel, u mestske casti ceho je casti
a uvelkeho mesta jeste na dalsi radky seznam jeho casti |
void |
setNameOfMayor(java.lang.String jmeno)
|
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
SettlementImpl
public SettlementImpl(java.lang.String jO)
getNameOfSettlement
public java.lang.String getNameOfSettlement()
- Specified by:
getNameOfSettlement
in interface Settlement
- Returns:
- jmeno obce typu String
setNameOfMayor
public void setNameOfMayor(java.lang.String jmeno)
- Specified by:
setNameOfMayor
in interface Settlement
- Parameters:
jmeno
- starosty obce typu String
getNameOfMayor
public java.lang.String getNameOfMayor()
- Specified by:
getNameOfMayor
in interface Settlement
- Returns:
- jmeno starosty obce typu String
info
public abstract java.lang.String info()
- metoda poskytuje informace o obci: typ obce: jmeno obce; titul starosty
jmena starosty; pocet obyvatel, u mestske casti ceho je casti
a uvelkeho mesta jeste na dalsi radky seznam jeho casti
- Specified by:
info
in interface Settlement
- Returns:
- informace o obci typu String
getPopulation
public abstract int getPopulation()
- Specified by:
getPopulation
in interface Settlement
- Returns:
- pocet obyvatel obce typu int
hashCode
public int hashCode()
- jako hashovaci kod obce se pouziva hashovaci kod jmena obce
- Overrides:
hashCode
in class java.lang.Object
- Returns:
- hashCode jmena obce
equals
public boolean equals(java.lang.Object o)
- pro test rovnosti obci se pouziva test rovnosti jmen obci
- Overrides:
equals
in class java.lang.Object
- Returns:
- equals jmen obci
compareTo
public int compareTo(Settlement o)
- pro porovnani obci se pouziva porovnani jmen obci
- Specified by:
compareTo
in interface java.lang.Comparable<Settlement>
- Returns:
- compareTo jmen obci
Text třídy AA, jejíž metodou main můžete volat
metody implementující rozhraní Settlement, City resp. Quarter
/**
* Trida na otestovani trid QuarterImpl a CityImpl
*
* @author Ales Zlamal
* @version 2006 01 08
*/
public class AA{
public static void main(String[] args){
Settlement v0, c0, c1;
City v1;
Quarter c2, c3;
v0 = new CityImpl("Houpy
nad Blbavou");
v0.setNameOfMayor("Properphil
Fat");
c0 = new QuarterImpl("Aquarky");
c0.setNameOfMayor("Vlam Faet");
try{
((City)v0).incorporate((Quarter)c0);
((Quarter)c0).setPopulation(13);
}catch(
SettlException oe
){}
c1 = new
QuarterImpl("Fotbalovice");
c1.setNameOfMayor("Kar
al Usmicha");
try{
((City)v0).incorporate((Quarter)c1);
((Quarter)c1).setPopulation(666);
}catch(
SettlException oe
){}
v1 = new
CityImpl("Molohuc");
v1.setNameOfMayor("Ilan
van Ger");
c2 = new
QuarterImpl("Pomnikovice");
c2.setNameOfMayor("Georgios
Arkas");
try{
v1.incorporate(c2);
c2.setPopulation(333);
}catch(
SettlException oe
){}
c3 = new
QuarterImpl("Blablounov");
c3.setNameOfMayor("Elaxendar
Puzba");
try{
v1.incorporate(c3);
c3.setPopulation(123);
}catch(
SettlException oe
){}
System.out.print("<|" +
v0.getNameOfSettlement() + "|> "
+ "<|" +
v1.getNameOfSettlement() + "|> "
+ "<|" +
c3.getNameOfSettlement() + "|> "
+ "<|" +
c2.getNameOfSettlement() + "|> "
+ "<|" +
c1.getNameOfSettlement() + "|> "
+ "<|" +
c0.getNameOfSettlement() + "|>\n");
System.out.print("<|" +
v0.getNameOfMayor() + "|> "
+ "<|" +
v1.getNameOfMayor() + "|> "
+ "<|" +
c3.getNameOfMayor() + "|> "
+ "<|" +
c2.getNameOfMayor() + "|> "
+ "<|" +
c1.getNameOfMayor() + "|> "
+ "<|" +
c0.getNameOfMayor() + "|>\n");
System.out.print("<|" +
v0 + "|\n>"
+ "<|" +
v1 + "|>\n"
+ "<|" +
c3 + "|>\n"
+ "<|" +
c2 + "|>\n"
+ "<|" +
c1 + "|>\n"
+ "<|" +
c0 + "|>\n");
System.out.print("<|" +
v0.info() + "|"
+ v1.info()
+ "|"
+ c3.info()
+ "|"
+ c2.info()
+ "|"
+ c1.info()
+ "|"
+ c0.info()
+ "|>\n");
System.out.print("<|" +
v0.getPopulation() + "|> "
+ "<|" +
v1.getPopulation() + "|> "
+ "<|" +
c3.getPopulation() + "|> "
+ "<|" +
c2.getPopulation() + "|> "
+ "<|" +
c1.getPopulation() + "|> "
+ "<|" +
c0.getPopulation() + "|>\n");
v1.setNameOfMayor("Dorothea
Rirona Karostalova");
try{
c2.setPopulation(11);
((Quarter)c0).setPopulation(17);
}catch(
SettlException oe
){}
System.out.print("<|" +
v1.getNameOfSettlement() + "|> "
+ "<|" +
c2.getNameOfSettlement() + "|> "
+ "<|" +
c0.getNameOfSettlement() + "|>\n");
System.out.print("<|" +
v1.getNameOfMayor() + "|> "
+ "<|" +
c2.getNameOfMayor() + "|> "
+ "<|" +
c0.getNameOfMayor() + "|>\n");
System.out.print("<|" +
v1 + "|>\n"
+ "<|" +
c2 + "|>\n"
+ "<|" +
c0 + "|>\n");
System.out.print("<|" +
v1.info() + "|"
+ c2.info() +
"|"
+ c0.info() +
"|>\n");
System.out.print("<|" +
v0.getPopulation() + "|> "
+ "<|" +
v1.getPopulation() + "|> "
+ "<|" +
c2.getPopulation() + "|> "
+ "<|" +
c0.getPopulation() + "|>\n");
}
}
|
| | |
|
Výstup při volání z přiloženého programu AA
<|Houpy nad Blbavou|> <|Molohuc|> <|Blablounov|> <|Pomnikovice|> <|Fotbalovice|> <|Aquarky|>
<|Properphil Fat|> <|Ilan van Ger|> <|Elaxendar Puzba|> <|Georgios Arkas|> <|Kar al Usmicha|> <|Vlam Faet|>
<|Velke mesto: Houpy nad Blbavou; primator: Properphil Fat; pocet obyvatel: 679|
><|Velke mesto: Molohuc; primator: Ilan van Ger; pocet obyvatel: 456|>
<|Mestska cast: Blablounov; starosta: Elaxendar Puzba; pocet obyvatel: 123|>
<|Mestska cast: Pomnikovice; starosta: Georgios Arkas; pocet obyvatel: 333|>
<|Mestska cast: Fotbalovice; starosta: Kar al Usmicha; pocet obyvatel: 666|>
<|Mestska cast: Aquarky; starosta: Vlam Faet; pocet obyvatel: 13|>
<|Velke mesto: Houpy nad Blbavou; primator: Properphil Fat; pocet obyvatel: 679
Mestska cast: Aquarky; starosta: Vlam Faet; pocet obyvatel: 13
Mestska cast: Fotbalovice; starosta: Kar al Usmicha; pocet obyvatel: 666
|Velke mesto: Molohuc; primator: Ilan van Ger; pocet obyvatel: 456
Mestska cast: Blablounov; starosta: Elaxendar Puzba; pocet obyvatel: 123
Mestska cast: Pomnikovice; starosta: Georgios Arkas; pocet obyvatel: 333
|Mestska cast: Blablounov; starosta: Elaxendar Puzba; pocet obyvatel: 123; je casti velkeho mesta Molohuc
|Mestska cast: Pomnikovice; starosta: Georgios Arkas; pocet obyvatel: 333; je casti velkeho mesta Molohuc
|Mestska cast: Fotbalovice; starosta: Kar al Usmicha; pocet obyvatel: 666; je casti velkeho mesta Houpy nad Blbavou
|Mestska cast: Aquarky; starosta: Vlam Faet; pocet obyvatel: 13; je casti velkeho mesta Houpy nad Blbavou
|>
<|679|> <|456|> <|123|> <|333|> <|666|> <|13|>
<|Molohuc|> <|Pomnikovice|> <|Aquarky|>
<|Dorothea Rirona Karostalova|> <|Georgios Arkas|> <|Vlam Faet|>
<|Velke mesto: Molohuc; primator: Dorothea Rirona Karostalova; pocet obyvatel: 134|>
<|Mestska cast: Pomnikovice; starosta: Georgios Arkas; pocet obyvatel: 11|>
<|Mestska cast: Aquarky; starosta: Vlam Faet; pocet obyvatel: 17|>
<|Velke mesto: Molohuc; primator: Dorothea Rirona Karostalova; pocet obyvatel: 134
Mestska cast: Blablounov; starosta: Elaxendar Puzba; pocet obyvatel: 123
Mestska cast: Pomnikovice; starosta: Georgios Arkas; pocet obyvatel: 11
|Mestska cast: Pomnikovice; starosta: Georgios Arkas; pocet obyvatel: 11; je casti velkeho mesta Molohuc
|Mestska cast: Aquarky; starosta: Vlam Faet; pocet obyvatel: 17; je casti velkeho mesta Houpy nad Blbavou
|>
<|683|> <|134|> <|11|> <|17|>
|
|
|
|
(Obce a starostové jsou fiktivní. Jakákoliv podobnost názvů obcí
a jmen starostů s existujícími obcemi či osobami je čistě náhodná.)
Dokumentace rozhraní
DatabaseOfSettlements a třídy DatabaseOfSettlementsImpl,
do které máte dopsat metodu searchByKey
Interface DatabaseOfSettlements
public interface DatabaseOfSettlements
Method Summary |
void |
readDB(java.io.File Vstup)
Nacte ze zadaneho souboru a naplni databasi |
java.util.SortedSet<Settlement> |
searchByKey(java.lang.String key)
Vrati setridenou mnozinu obci,
jejichz slova nazvu zacinaji zadanym retezcem
anebo jmena jejichz starostu zacinaji zadanym retezcem |
readDB
void readDB(java.io.File Vstup)
throws DBSttlException
- Nacte ze zadaneho souboru a naplni databasi
- Parameters:
Vstup
- je vstupni soubor (tedy objekt typu File)
- Throws:
DBSttlException
searchByKey
java.util.SortedSet<Settlement> searchByKey(java.lang.String key)
- Vrati setridenou mnozinu obci,
jejichz slova nazvu zacinaji zadanym retezcem
anebo jmena jejichz starostu zacinaji zadanym retezcem
- Parameters:
key
- typu String klic podlektereho se hleda
- Returns:
- setridena mnozina obci vyhovujici parametrum hledani
Class DatabaseOfSettlementsImpl
java.lang.Object
DatabaseOfSettlementsImpl
- All Implemented Interfaces:
- DatabaseOfSettlements
public class DatabaseOfSettlementsImpl
- extends java.lang.Object
- implements DatabaseOfSettlements
Method Summary |
void |
readDB(java.io.File vstup)
Nacte ze zadaneho souboru a naplni databasi |
java.util.SortedSet<Settlement> |
searchByKey(java.lang.String key)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DatabaseOfSettlementsImpl
public DatabaseOfSettlementsImpl()
- Constructor for objects of class DatabaseObciImpl
readDB
public void readDB(java.io.File vstup)
throws DBSttlException
- Nacte ze zadaneho souboru a naplni databasi
- Specified by:
readDB
in interface DatabaseOfSettlements
- Parameters:
vstup
- je vstupni soubor (tedy objekt typu File)
- Throws:
DBSttlException
searchByKey
public java.util.SortedSet<Settlement> searchByKey(java.lang.String key)
- Specified by:
searchByKey
in interface DatabaseOfSettlements
Text třídy A, jejíž metodou main můžete volat
metody implementující rozhraní DatabaseOfSettlements
import java.io.File;
import java.util.Set;
/**
* Trida na otestovani tridy DatabaseOfSettlementsImpl
*
* @author Ales Zlamal
* @version 2006 01 08
*/
public class A{
public static void main(String[] args)
throws DBSttlException{
DatabaseOfSettlements
dbob;
Set<Settlement>
pom;
dbob =
new DatabaseOfSettlementsImpl();
dbob.readDB(new File("dbovstup1.txt"));
System.out.print("Vysledek hledani podle klice \"nedo\":\n");
pom =
dbob.searchByKey("nedo");
for(Settlement o: pom){
if(
o instanceof City
){
System.out.print(o + "\n");
}else{
System.out.print(o.info());
}
}
System.out.print("\n");
System.out.print("Vysledek
hledani podle klice \"xxx\":\n");
pom =
dbob.searchByKey("xxx");
for(Settlement o: pom){
if(
o instanceof City
){
System.out.print(o + "\n");
}else{
System.out.print(o.info());
}
}
System.out.print("\n");
System.out.print("Vysledek hledani podle klice \"nor\":\n");
pom =
dbob.searchByKey("nor");
for(Settlement o: pom){
if(
o instanceof City
){
System.out.print(o + "\n");
}else{
System.out.print(o.info());
}
}
}
}
|
|
|
Vstupní soubor dbovstup1.txt pro volání z přiloženého programu A
Prno : Risa Studanka
Zabokunky : von Zwalieck : 22986
Holoruce : Jiri Norak : 9574
Ovadov : Lobomur ben Ton : 18473
Breckovice : Simon Onsky : 13432
Fenoknuky : Larek Prak : 153675
Kralovnina Luka : Sup Varen : 73673
Vranokraky : Lok Slopal : 112647
Pilovice u Prna : Sean O'Vara : 8837
Stolice : Vlastnimil Nedozera
Nedorezy : Maroslav Cipera : 20265
Hrabcany : Vena Kluzky : 21539
Venohraby : Muroslav Juicea z Cizihokrevnetece : 121647
Nove Testo : Muroslav Tunela z Verenehocizihomajetku :
154829
Stare Testo : Studa Hroz : 33452
Pod Babou : Kradoslav Balace : 153748
Kradlin : Jenicek Bierglgmeister : 224167
Bervice : Berta z Barga : 103536
Nedobehy : Blan Putka : 121658
Kradno nad Nedousinem : Cerp MacEtr : 244950
Hulvaja : Mucha Mednani z Ilhavy
Linskovice : Jamoryl Linsk : 15674
Plnoblaty : Chequerreque d'Aurrgie : 13245
Pivorady : Nedon Paplak : 12373
Tupava : Paul Toineck
Vicevitkov : Plava Tuplova : 133612
Konerehty : Rehina Ctyrruka : 82463
Nedokanice : Rep Vytahun : 73125
Brezahy : Kulp Nezastrk : 84189
Hundredlower : Marianka Konopna : 12414
|
| | |
|
Výstup při volání z přiloženého programu A s přiloženým vstupním souborem dbovstup1.txt
Vysledek hledani podle klice "nedo":
Mestska cast: Kradno nad Nedousinem; starosta: Cerp MacEtr; pocet obyvatel:
244950; je casti velkeho mesta Stolice
Mestska cast: Nedobehy; starosta: Blan Putka; pocet obyvatel:
121658; je casti velkeho mesta Stolice
Mestska cast: Nedokanice; starosta: Rep Vytahun; pocet obyvatel:
73125; je casti velkeho mesta Tupava
Mestska cast: Nedorezy; starosta: Maroslav Cipera; pocet obyvatel:
20265; je casti velkeho mesta Stolice
Mestska cast: Pivorady; starosta: Nedon Paplak; pocet obyvatel:
12373; je casti velkeho mesta Hulvaja
Velke mesto: Stolice; primator: Vlastnimil Nedozera; pocet obyvatel:
1199791
Vysledek hledani podle klice "xxx":
Vysledek hledani podle klice "nor":
Mestska cast: Holoruce; starosta: Jiri Norak; pocet obyvatel:
9574; je casti velkeho mesta Prno
|
|
|
|
(Obce a starostové jsou fiktivní. Jakákoliv podobnost názvů obcí
a jmen starostů s existujícími obcemi či osobami je čistě náhodná.)
Upozornění
Program může být při hodnocení spouštěn i s jinými korektními
vstupními soubory, než je ten přiložený. Počet bodu získaný sečtením či
odečtením podle informací v testovacích třídách a v je jen orientační horní hranicí:
hodnotitelé mohou podle vlastního uvážení body snížit či jinak pozměnit.
Dokumentace dalších tříd,
jež máte použít
Class SettlException
java.lang.Object
java.lang.Throwable
java.lang.Exception
SettlException
- All Implemented Interfaces:
- java.io.Serializable
public class SettlException
- extends java.lang.Exception
- See Also:
- Serialized Form
Methods inherited from class java.lang.Throwable |
fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
SettlException
public SettlException(java.lang.String msg,
java.lang.Throwable cause)
SettlException
public SettlException(java.lang.String msg)
Class DBSttlException
java.lang.Object
java.lang.Throwable
java.lang.Exception
DBSttlException
- All Implemented Interfaces:
- java.io.Serializable
public class DBSttlException
- extends java.lang.Exception
- See Also:
- Serialized Form
Methods inherited from class java.lang.Throwable |
fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
DBSttlException
public DBSttlException(java.lang.String msg,
java.lang.Throwable cause)
DBSttlException
public DBSttlException(java.lang.String msg)