Mila96 Skrevet 15. oktober 2015 Del Skrevet 15. oktober 2015 (endret) 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 15. oktober 2015 av Mila96 Lenke til kommentar
Ønsket visningsnavn Skrevet 15. oktober 2015 Del Skrevet 15. oktober 2015 (endret) . Endret 26. januar 2019 av Ønsket visningsnavn Lenke til kommentar
Enthroner Skrevet 15. oktober 2015 Del Skrevet 15. oktober 2015 Tittelen sier ArrayList men du trenger ikke en ArrayList for å løse oppgaven. Enig med Tang her, vis oss hva du allerede har så skal du få hjelp med å komme videre! Lenke til kommentar
Mila96 Skrevet 16. oktober 2015 Forfatter Del Skrevet 16. oktober 2015 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
Mila96 Skrevet 16. oktober 2015 Forfatter Del Skrevet 16. oktober 2015 Så har ikke jeg ingen ide hva skal jeg gjøre videre:) Lenke til kommentar
Ønsket visningsnavn Skrevet 16. oktober 2015 Del Skrevet 16. oktober 2015 (endret) 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 16. oktober 2015 av Tang 1 Lenke til kommentar
Enthroner Skrevet 16. oktober 2015 Del Skrevet 16. oktober 2015 (endret) 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 18. oktober 2015 av Enthroner 1 Lenke til kommentar
Mila96 Skrevet 17. oktober 2015 Forfatter Del Skrevet 17. oktober 2015 Takk for hjelpen alle Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå