1711 Vektorer - chiffer - alfabet
Syftet med uppgiften är att fortsätta att öva på vektorer, for-slingor och implementering av algoritmer i metoder.
För att klassen CharacterArray
inte ska bli så stor så har jag valt att samla den kod
som arbetar direkt med bokstäverna i en egen klass Alphabet
.
Vi använder det svenska alfabetet för att enkelt kunna kryptera svensk text.
Alphabet
- char [] alphabet
- int noLetters
- int getNoLetters()
- boolean isLetter(char character)
- int getIndexOf(char letter)
- char inverseLetter(char letter)
- boolean isConsonant(char letter)
- boolean isVowel(char letter)
Fält
alfabet är en vektor som innehåller alla bokstäverna i det svenska alfabetet i bokstavsordning.
Tips
int [] minaLyckotal = {3, 4, 14};
//likvärdig kod
int [] minaLyckotal;
minaLyckotal = int [3];
minaLyckotal[0] = 3;
minaLyckotal[1] = 4;
minaLyckotal[2] = 14;
Använd gärna den översta så sparar du arbete.
Mer tips om bokstäver i Java.
char bokstav = 'r';
Om du vill kan du göra båda fälten till konstanter. Det är inget krav.
Konstanter kan användas till exempel då man förhindra att ett fält ska byta värde.
I fält deklarationen läggs ordet final
till efter private
.
Men nu måste konstanten få sitt värde direkt i fältdeklarationen.
Enligt konvention, oskriven regel, skrivs konstanter med versaler, stora bokstäver.
Fältet alphabet
blir då ALPHABET
och noLetters
blir NO_LETTERS
.
Konstruktor
Fälten ska få sina värden, men vi har fuskat lite. Fältet alphabet
har redan fått sitt värde.
Men vi har ju ett fält till.
Metoder
/**
* @return antalet bokstäver i alfabetet
*/
public int getNoLetters()
/**
* @return true om parametern character är en bokstav, annars false
*/
public boolean isLetter(char character)
/**
* @return index för bokstaven i alfabetet. Om parametern letter
* inte är en bokstav returneras -1.
*/
public int getIndexOf(char letter)
/**
* @return 'a' blir 'ö' och 'b' blir 'ä' och så vidare
*/
public char inverseLetter(char letter)
/**
* @return Returnerar true om parametern letter är en konsonant,
* annars false.
*/
public boolean isConsonant(char letter)
/**
* @return Returnerar true om parametern letter är en vokal,
* annars false.
*/
public boolean isVowel(char letter)