Avatar billede andreas Nybegynder
25. april 2007 - 08:23 Der er 1 løsning

Rekrusiv metode?

Hejsa,

Jeg prøver i en metode i en klasse, at lave en instans af klassen Kunde, hvor den skal vælge en tilfældig kunde fra et kundeKatalog. Dette katalog er en ArrayList<Kunde>, hvor i alle kunder ligger.

I metoden laver jeg en:

Kunde nyKunde = vælgKunde();

vælgKunde() metoden er den metode, som skal udvælge en tilfældig kunde fra kundekataloget. Dog må det ikke være den samme som den "nuværende kunde".

Jeg har i Kunde klassen også lavet en metode som hedder getKontoNr(). Denne metode returnere en unik String svarende til brugerens konto nr.

Mit problem er, at den stadig vælger den samme konto som den der er igang.

Min vælgKunde metode ser således her ud:

private synchronized Kunde vælgKunde()
    {
        int rand;
        Kunde k;
       
        while (true)
        {
            rand = (int) Math.floor((Math.random() * (double) kundeKatalog.getKatalog().size()));
            k = kundeKatalog.getKatalog().get(rand);

            if (this.getKontoNr().equalsIgnoreCase(k.getKontoNr()))
            {
                continue;
            }
           
            return k;
        }
    }
Avatar billede andreas Nybegynder
25. april 2007 - 11:15 #1
Jeg fik løst det selv. Mit problem lå i min katalog klasse som er en singleton. Den var ude af sync.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester