Oppgaver uke 7

Oppgave 1

Skriv klassen “Person”. En person skal ha ett fornavn, ett etternavn, og en alder. Disse skal gis verdier i konstruktøren.

1a.

Implementer en toString-metode som skriver ut fornavnet og etternavnet. 

1b. 

Implementer en metode for å hente alder.

1c.

La Personklassen implementere grensesnittet "Comparable<Person>". Da må du også skrive metoden “int compareTo(Person annen)”. Når vi sammenligner personer ønsker vi først å fremst å sortere på alder. Dersom alder er lik så ønsker vi å sortere på navn. Hint: her kan du gjøre kall på både hentAlder() og toString(). 

1d.

Test programmet ditt med denne kodesnutten, og sjekk at utskriften blir riktig:

import java.util.Arrays;


class Testprogram {


    public static void main(String[] args) {

        Person[] personer = {

            new Person("Andreas", "Hurthe", 25),

            new Person("Kristine", "Henriksen", 30),

            new Person("Henrik", "Golsen", 25),

            new Person("Sigvart", "Dagsland", 29)

        };


        Arrays.sort(personer);


        for (Person p : personer) {

            System.out.println(p);

        }

    }

}


Oppgave 2

Lag en generisk klasse “Lenkeliste”. Du kan ta utgangspunkt i grensesnittet gitt under. Du kan benytte deg av Nodeklassen skrevet forrige uke, men den skal nå flyttes inn i klassen Lenkeliste som en indre/privat klasse. Diskusjon: Hva slags endringer må gjøres på Node-klassen?

import java.util.Iterator;

public class FIFOListe<T> implements Iterable<T>{


       private Node hode;

       private Node hale;


       private class Node {}


       public int storrelse() {}


       public boolean erTom() {}


       public void leggTil(T t) {}


       public void fjernAlt() {}


       public T pop() 


       public void skrivUtListe() {}


       @Override       

       public Iterator<T> iterator() {} 


       private class FIFOIterator implements Iterator<T> {


       Node denne = hode;


       @Override

       public boolean hasNext() {}


       @Override

       public T next() {}

  }


 

Publisert 9. mars 2023 10:13 - Sist endret 9. mars 2023 12:04