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
  1. int getNoLetters()
  2. boolean isLetter(char character)
  3. int getIndexOf(char letter)
  4. char inverseLetter(char letter)
  5. boolean isConsonant(char letter)
  6. 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 finaltill 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)