Wie het genot kent van luisteren naar muziek uit een goede muziekinstallatie, kent ook het gepruts aan duizend-en-een-knopjes. Het programmeren van een aantal radiozenders is voor sommige mensen een kalvarietocht door handleidingen in een tiental onbegrijpelijke talen. Eindeloos prutsen aan de radio. Daar gaat deze oefening over.
In deze oefening programmeren we de klasse Radio
, een klasse die instanties van de klasse Kanaal
verzamelt in een array
. Je maakt in BlueJ het project Radio met volgende klassen:
Kanaal
: de code van Kanaal
kan je hier1 downloaden.Radio
: kopieer alvast de boilerplate-code uit de indiensectie op deze pagina naar jouw project.Alvorens je aan de opgave begint, loont het de moeite om de werking van de klasse Kanaal
te bestuderen.
In de constructor initialiseer je het veld kanalen
. Gebruik de parameter aantalKanalen
als lengte voor
de array kanalen
.
Programmeer volgende methoden:
int aantalRadioStations()
Geeft het aantal kanalen terug dat je kan programmeren op een instantie van de klasse Radio
.
void kanaalToevoegen(Kanaal, int)
Voegt aan array kanalen
een gegeven kanaal toe op een gegeven index. Test of de index geldig is en er
nog geen kanaal op de gegeven index te vinden is.
Kanaal geefKanaal(int)
Geeft het kanaal op de gegeven index terug. Indien er nog geen kanaal geprogrammeerd werd op de gevraagde
index, laat je null
teruggeven.
void print()
Toont informatie over de radio in het terminalvenster van BlueJ.
int aantalGeprogrammeerdeStations()
Geeft het aantal geprogrammeerde kanalen terug. In het voorbeeld hierboven zou deze methode 3 teruggeven.
double zoekFrequentie(String)
Geeft de frequentie van een kanaal terug, gegeven de naam van het kanaal. Zijn er kanalen met dezelfde
naam, geef dan de frequentie van het kanaal met de kleinste index terug. Vind je het kanaal niet terug,
laat dan -1 teruggeven.
radio.zoekFreqeuntie("MNM")
retured double 101.5
radio.zoekFreqeuntie("Klara")
retured double -1.0