Avatar billede apa Nybegynder
09. juni 2003 - 13:45 Der er 5 kommentarer og
1 løsning

Brug af interface

Jeg er ved at løse en opgave som jeg er gået lidt kold i. Opgaven går ud på følgende:

Opgaven går i første omgang ud på at skrive klassen SingleAuthor som kan oprette nye forfattere og opgive deres alias. Klassen skal implementere interfacet Author:

interface Author {
    public void setAlias(String alias);
}

Min første klasse ser ud som følgende:


public class Authors implements Author{

private String efternavn;
private String fornavn;
private String alias;


public Authors(String efternavn, String fornavn){
   
    this.efternavn = efternavn;
    this.fornavn = fornavn;

}
   

    public void setAlias(String alias){
       
    this.alias = alias;
   
    }

    public String getAlias(){

    return alias;
    }
   
   
    public String toString(){
   
    return efternavn+ ": " +fornavn+ " " +efternavn;
   
    }


public static void main (String arg[]){

    Authors blixen = new Authors("Blixen", "Karen");
    Authors andersen = new Authors("Andersen", "H C");
    blixen.setAlias("Pierre Andrezel");

    System.out.println(blixen.toString()+" ("+blixen.getAlias()+") ");
    System.out.println(andersen.toString());


    }
}

Der udskrives:
Blixen: Karen Blixen (Pierre Andrezel)
Andersen: H C Andersen
(hvilket skal se sådan ud jf. opgaveformuleringen)

Den næste opgave går ud på at lave klassen EditorAuthor som også er en implementation af Autor interfacet. Opgaven går ud på at lade readContributors åbne en fil som er givet som parameter og returnere en tekst streng med de navne som står i tekstfilen.

Følgende kode er givet:

class EditorAuthor implements Author {

    public EditorAuthor (…) { …    }

    public void setAlias(String alias) { …    }
   
    public String readContributors(String fileName)
        throws IOException
    { …    }

    …
}

Er der en som kan hjælpe mig igang med EditorAuthor klassen? Jeg er klar over jeg skal bruge FileReader og BufferedReader men jeg kan ikke lige få det til at hænge sammen!
Avatar billede arne_v Ekspert
09. juni 2003 - 13:51 #1
Du skal nok bruge noget a la:

      try {
        BufferedReader r =
            new BufferedReader(new FileReader("filnavn.dat));
        String line;
        while ((line = r.readLine()) != null) {
            // gøre noget
        }
      } catch (FileNotFoundException e) {
      } catch (IOException e) {
      }
Avatar billede apa Nybegynder
09. juni 2003 - 13:59 #2
Kan du evt. prøve at sætte det ind i EditorAuthor klassen. Jeg er f.eks. i tvivl om hvad konstruktøren skal have som parametre og om det skal bruges i readContributors metoden. Og hvad med setAlias - den skal jo defineres da den er i interfacet - men skal metodekroppen være tom?
Avatar billede arne_v Ekspert
09. juni 2003 - 14:16 #3
Umiddelbart vil jeg da formode, at den skal gemme alias.

[jeg undrer mig iøvrigt lidt over opgave-konstruktionen men det er
sikkert fordi jeg har misforstået noget]
Avatar billede arne_v Ekspert
09. juni 2003 - 14:17 #4
Og jeg mener ikke at du skal hav enoget særligt i constructor.

Filnavnet er jo argument i readContributors.
Avatar billede apa Nybegynder
09. juni 2003 - 15:01 #5
Jeg prøver lige at arbejde lidt videre med opgaven - jeg vender tilbage!
Avatar billede apa Nybegynder
09. juni 2003 - 18:53 #6
Jeg fik den løst!
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