Doffar Skrevet 4. november 2009 Del Skrevet 4. november 2009 (endret) Hallo, Jeg prøver å løse en oppgave som jeg nå ikke bare ikke skjønner bæret av lengre Jeg har laget en liten forenling av det som er problemet for meg. Først koden. Beklager navnevalget på klassene etc, men jeg har klødd meg i hodet i et par timer nå og da ble det sånn import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; public class Dritt{ private String fornavn; private String etternavn; private static char SKILLETEGN = '|'; Dritt(String fornavn, String etternavn){ this.fornavn = fornavn; this.etternavn = etternavn; } Dritt(){ fornavn = "Mega"; etternavn = "Kul"; } String hentFornavn(){return this.fornavn;} String hentEtternavn(){return this.etternavn;} public String toString(){ return hentFornavn() + hentEtternavn(); } public void testing(String fornavn, String etternavn){ this.fornavn = fornavn; this.etternavn = etternavn; } public void lesFraFil(BufferedReader tekstLeser) throws IOException { String post = tekstLeser.readLine(); int feltsluttIndeks1 = post.indexOf(SKILLETEGN); String fornavn = post.substring(0, feltsluttIndeks1); String etternavn = post.substring(feltsluttIndeks1 + 1); this.fornavn = fornavn; this.etternavn = etternavn; } } import java.io.BufferedReader; import java.io.FileWriter; import java.io.FileReader; import java.io.PrintWriter; import java.io.IOException; public class Drittest{ public static void main(String[] args){ Dritt dritt = new Dritt(); System.out.println(dritt.toString()); try { FileReader tekstFilLeser = new FileReader("kontakter.txt"); BufferedReader tekstLeser = new BufferedReader(tekstFilLeser); int antallFolk = Integer.parseInt(tekstLeser.readLine()); Dritt[] dritten = new Dritt[antallFolk]; for(int i = 0; i < antallFolk; i++){ dritt.lesFraFil(tekstLeser); System.out.println(dritt.toString()); dritten[i] = dritt; } for(int j =0; j < 3; j++){ System.out.println(dritten[j].toString()); } tekstLeser.close(); } catch (IOException unntak) { System.out.println("Feil"); } } } Output er: MegaKul Ola|Nordmann|[email protected] Kari|Nordmann|[email protected] Per Ole|Nordmann|[email protected] Per Ole|Nordmann|[email protected] Per Ole|Nordmann|[email protected] Per Ole|Nordmann|[email protected] Åssen får jeg det oppdaterte objektet inn i tabellen? Og hvorfor skrives bare den siste raden av tabllen ut? "for"-løkken går jo gjennom hele? Mulig jeg bare bommer helt her, men jeg forstår bare ikke hvor det går gale Det jeg skal gjøre er å oppdatere objektet med informasjonen fra flatfilen for så å legge objektet inn i en tabell. Endret 4. november 2009 av Doffar Lenke til kommentar
DeadManWalking Skrevet 4. november 2009 Del Skrevet 4. november 2009 Du går vel ikke på UiB? Lenke til kommentar
Unlimited LTD Skrevet 5. november 2009 Del Skrevet 5. november 2009 Hva er det filen inneholder da? Altså, kontakter.xml? Lenke til kommentar
delfin Skrevet 6. november 2009 Del Skrevet 6. november 2009 (endret) // Du ser hvor denne skal... Dritt[] dritten = new Dritt[antallFolk]; for(int i = 0; i < antallFolk; i++) { dritten[i] = new Dritt(tekstLeser.readLine()); } // constructor for Dritt :) Dritt(String drittlinje) { String[] delt = drittlinje.split(SKILLETEGN) fornavn = delt[0]; etternavn = delt[1]; } Utestet... For å skrive ut info: for (Dritt d : dritten) { System.out.println(d); // skriver ut Dritt-objektet, som definert i toString() } Oh btw... for(int i = 0; i < antallFolk; i++){ dritt.lesFraFil(tekstLeser); // her er problemet, du jobber med det samme objektet hele tiden... System.out.println(dritt.toString()); dritten[i] = dritt; // du setter dritten[i] til samme dritt for alle i... } Endret 6. november 2009 av pifler 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å