Gå til innhold

ArrayList - trenger hjelp med oppgave


Anbefalte innlegg

Hei, trenger hjelp med et programm, så hvis dere kan hjelpe med å lage den ville det bli perfekt..

 

Oppgave:

 

 

Vi skal jobbe med ord, så vi trenger et redskap for det: Objekter av
class Ord
skal
representere hvert sitt unike ord fra teksten. Når vi leser inn teksten og kommer til
et ord vi ikke har lest før lager vi et nytt objekt som husker ordet, og at det er funnet
én gang. Når vi kommer til et ord vi har lest før, øker vi bare antall forekomster i
det objektet vi allerede har laget for dette ordet.
Når teksten er ferdig lest inn i programmet vårt kan vi begynne å bruke de verk-
tøyene vi har laget. Ved at like ord i teksten kun lagres én gang i datastrukturen vår
sparer vi plass i datamaskinens minne under kjøring, og slipper å telle forekomster
på nytt hver gang vi vil vite antall ganger et ord forekommer.
Klassen skal ha følgende grensesnitt:
Konstruktør:
Ord(String tekst) { ... }
oppretter et Ord-objekt av den gitte teksten.
Eksempel:
new Ord("utmark")
Metoder:
public String toString() { ... }
returnerer ordet.
Eksempel:
new Ord("skog").toString() returnerer "skog"
public int hentAntall() { ... }
henter data om hvor mange ganger ordet forekommer.
Eksempel:
Ord forsteOrd = new Ord("grantre");
forsteOrd.hentAntall() gir 1.
public void oekAntall() { ... }
 
registrerer at ordet har forekommet en gang til.
Eksempel:
Ord andreOrd = new Ord("bjerk");
andreOrd.oekAntall();
andreOrd.hentAntall() gir 2.
Skriv ferdig klassen Ord. Lag også et lite testprogram som viser at klassen fungerer.
   Testen skal minimum opprette to pekere og objekter av typen Ord,                    øke                    antallet på
det ene objektet, og skrive ut ordet og antallet for begge objektene.
Endret av Mila96
Lenke til kommentar
Videoannonse
Annonse

Post det du allerede har.

import java.util.Scanner;

import java.util.ArrayList;

import java.io.File;

public class Oppgave6 {

    public static void main(String [] args) throws Exception {

    String filNavn = "testDoc.txt";

    Scanner filLeser = new Scanner (new File(filNavn));

    

    ArrayList <Ord> ff = new ArrayList<Ord>();

    

 

}

}

class Ord {

    String ore;

    int ant;

   

    Ord(String tekst) {

    ore=tekst;

    ant=1;

 

    }

 

    public String toString()  {

    return ore;

 

    }

 

    public int hentAntall()  {

    return ant;

    }

    

    public void oekAntall() {

    ant++;

 

    }

 

 

}

 

Lenke til kommentar

Du skal bare vise at Ord-klassen fungerer.

 

Skriv ferdig klassen Ord. Lag også et lite testprogram som viser at klassen fungerer.

Testen skal minimum opprette to pekere og objekter av typen Ord, øke antallet på
det ene objektet, og skrive ut ordet og antallet for begge objektene.

Som Enthroner sa trenger du ikke en ArrayList. 

(Ord-klassen fungerer, du trenger bare å bruke den)

 

 

 

 

 

 

 

 

 

public static void main(String[] args) {
    Ord fugl = new Ord("fugl"); // opprette to objekt
    Ord hest = new Ord("hest");
    
    fugl.oekAntall(); // øk antall på ett objekt
    
    System.out.print(fugl.hentAntall() + "\n"); // print ut antall
    System.out.print(hest.hentAntall() + "\n");
    
    System.out.print(fugl.toString() + "\n"); // print ut ord
    System.out.print(hest.toString());
} 

 

 

 

 

 

 

 

 

Endret av Tang
  • Liker 1
Lenke til kommentar

Veldig pirkete nå, men som tidligere studentveileder ved NITH (vi rettet prøver og slikt) så vet jeg at du tjener overraskende mye på enkle grep:

 

  • Kommenter lett slik Tang gjør i løsningsforlaget. Kommenter ting som ikke er umiddelbart opplagt. Dette viser at du forstår hva som skjer og at du vet hvordan man skal bruke kommentarer. Kommenter f.eks logikken bak hvorfor ant = 1; i konstrutøren.
  • Bruk tydelige variabelnavn. antall og ordet er milevis bedre.
  • Bry deg om hvordan koden ser ut. Det gjelder i innlevering, det gjelder i arbeidsliv og det gjelder på forum. Bruk mellomrom, ikke tabs. Sørg også for å bruke "kode" verktøyet her neste gang :) Det ser slik ut: <>

Bra jobba med klassen du hadde! Som Tang sier så ser alt helt riktig ut der :)

Endret av Enthroner
  • Liker 1
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...