Palindroom
Een palindroom is een tekst die identiek is aan zijn spiegelbeeld (m.a.w. van voor naar achter gelezen identiek als van achter naar voor). Voorbeelden zijn “lepel” en “meetsysteem”.
Opgave
Definieer een klasse Palindroom die de volgende static methodes bevat:
- de methode isPalindroom met als argument een array van characters retourneert true indien het woord dat is opgeslagen in de array een palindroom is. Indien het opgegeven woord niet overeenstemt met een Palindroom retourneert de methode false.
- de methode isPalindroom met als argument een String retourneert true indien de opgegeven String een palindroom is. Indien de opgegeven String niet overeenstemt met een Palindroom retourneert de methode false. De methode werkt voor zowel woorden als zinnen. Bij het bepalen of een zin een palindroom is, worden alleen de letters van de zin in rekening gebracht. Alle karakters uit de zin die geen letter zijn (bv. spaties en leestekens) worden dus genegeerd. Bovendien wordt ook geen onderscheid gemaakt tussen hoofdletters en kleine letters.
- de methode isPalindroom met als argument een integer retourneert true indien het opgegeven getal een palindroom is. Indien het opgegeven getal niet overeenstemt met een Palindroom retourneert de methode false.
- een main methode die gebruikt wordt voor het testen van de methode isPalindroom met 8 verschillende argumenten. De uitkomst van de methodes wordt weergegeven in de console:
- array van char met palindroom woord
- array van char met niet-palindroom woord
- String met palindroom woord
- String met niet-palindroom woord
- String met palindroom zin
- String met niet-palindroom zin
- int met palindroom getal
- int met niet-palindroom getal
de argumenten worden in volgende volgorde meegegeven:
- 2 char[]'s waar elk karakter gescheiden wordt door een ,
- 2 woorden in de vorm van een String
- 2 zinnen in de vorm van een String
- 2 getallen
Voorbeeld
Geef een char array in:
A,b,b,a
Array van char met palindroom woord
Geef een char array in:
E,d,i,t,o,r,s
Array van char met niet-palindroom woord
Geef een woord in:
Abba
String met palindroom woord
Geef een woord in:
Editors
String met niet-palindroom woord
Geef een zin in:
Mooi dit idioom!
String met palindroom zin
Geef een zin in:
Dit is geen Palindroom!
String met niet-palindroom zin
Geef een getal in:
323
Int met palindroom getal
Geef een getal in:
551
Int met niet-palindroom getal
Hierbij nog wat uitleg over de Dodona-testen voor deze oefening:
- test00objectConcept: test of de ingediende klasse de verwachte de klasse definitie heeft (interface/abstracte klasse/klasse/enum/…).
- test01inheritance: test of de ingediende klasse de verwachte superklasse heeft en de verwachte interfaces implementeert.
- test02variables_presence: test of de ingediende klasse de verwachte instantievariabelen en statische variabelen definieert.
- test03variables_staticInitialValue: test of de statische variabelen van de klasse geinitialiseerd worden met de verwachte waarde (indien van toepassing).
- test04constructor: test of de constructor het gewenste effect heeft (indien van toepassing).
- test05methodsPresent: test of de verwachte methodes aanwezig zijn in de ingediende klasse en of de methode definities overeenkomen met de verwachte definities (= test geen effect!).
- test06isPalindroom_charArray: test de isPalindroom-methode met een char[] als parameter.
- test07isPalindroom_String: test de isPalindroom-methode met een String als parameter.
- test08isPalindroom_int: test de isPalindroom-methode met een int als parameter.
- test09main: test de main-methode.