Programmering H2014 — uke 44
Oppgave - Kodebrikke
Du skal lage en liten kodebrikke, ikke ulik den enkelte banker
bruker for å genere engangskoder:

Hver gang brukeren klikker på "Ny kode" skal det komme en unik, ubrukt 6-sifret
kode i det øverste tekstfeltet.
Knappen "Vis brukte koder" og det nederste tekstfeltet er bare tatt med for å teste ut
applikasjonen.
Programmet består av klassene KodeGenerator
, KodeGeneratorVindu
og
Kodebrikke
som inneholder main-metoden.
Nedefor ser du en skisse av programmet.
Din oppgave blir å erstatte pseudo-koden med java-instruksjoner slik at
kodebrikken virker som den skal.
// KodeGenerator.java
< import-setninger >
public class KodeGenerator
{
private Random r = new Random();
private int[] kodeArray;
private int nyKodeindeks= 0; // Indeksen til første ubrukte kode,
// tilsvarer samtidig antall brukte koder.
public KodeGenerator(int antall)
{
< Oppretter kodeArray med det antall elementer parameteren antall angir.
og fyller den med unike kode, se neste metode. >
}
private void genererKoder()
{
< Fyller kodeArray med tilfeldige, 6-sifrede tall, der alle tallene
er forskjellige .
NB! Det laveste mulige tallet skal være 100000, og det høyeste 999999. >
}
private boolean finnes(int n, int antall)
{
< Undersøker om den innkomne parameteren n finnes blant de antall
første elementene (f.o.m indeks 0) i kodeArray. Hvis så er tilfelle
skal metoden returnere true, i motsatt fall skal den returnere false. >
}
public int nyKode()
{
< Metoden skal returnere en ubrukt kode. Hvis det ikke er flere ubrukte
koder igjen skal metoden returnere -1. Tips! Bruk variabele nyKodeindeks. >
}
public void visBrukteKoder(JTextArea tekst)
{
< Skriver alle brukte koder i tekstområdet tekst. >
}
} // end of class KodeGenerator
// KodeGeneratorVindu.java
< import-setninger >
public class KodeGeneratorVindu < Arver JFrame og implementerer ActionListener >
{
< Deklarerer grafiske komponenter og et KodeGenerator-objekt. >
public KodeGeneratorVindu()
{
< Oppretter KodeGenerator-objektet.
Bygger opp brukergrensesnittet slik det er vist på bildet over.
Knytter knappene til lytte-objektet. >
}
public void nyKode()
{
< Viser en ny, ubrukt kode i tekstfeltet for ny kode. >
}
public void visBrukteKoder()
{
< Viser brukte koder i tekstområdet. >
}
< Metode som fanger opp hendelsene, dvs klikkene på knappene,
og som sørger for at riktig operasjon blir utført.
NB! Det er denne metoden som gjør klassen til en lytteklasse! >
} // end of class KodeGeneratorVindu
// Kodebrikke.java
public class Kodebrikke
{
< Klassen skal innholde en main-metode som starter programmet. >
}
Lykke til!