import java.util.Random; import java.util.Scanner; import java.io.File; import java.io.FileNotFoundException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; class Main { static HashMap personer = new HashMap<>(); public static void main(String[] args) { try { lesFraFil(new File("eksempel.in")); } catch (FileNotFoundException e) { System.out.println("Filen finnes ikke!"); System.exit(-1); } Person p = personer.get("Miriam"); // Person p = hentTilfeldigPerson(); p.spor(); } public static void lesFraFil(File fil) throws FileNotFoundException { Scanner sc = new Scanner(fil); // Oppretter alle Person-objektene String linje = sc.nextLine(); while (!linje.startsWith("#")) { String[] info; String navn; Kjonn kjonn; int alder; boolean erMorder; // Fyll ut variablene over med informasjon fra filen her ... personer.put(navn, Person.opprettPerson(navn, alder, kjonn, erMorder)); linje = sc.nextLine(); } // Setter bekjentskapene while (sc.hasNextLine()) { linje = sc.nextLine(); String[] persOgFolk = linje.split(": "); String[] bekjentArray = persOgFolk[1].split(" "); ArrayList bekjentListe; // Fyll ut bekjentlisten med Person-objekter her ... personer.get(persOgFolk[0]).settBekjente(bekjentListe); } } // Denne metoden returnerer en tlfeldig person fra personer-hashmapen // Brukes ved innlesning av den store navnelisten. // OBS! Kan ikke brukes f?r hashmapet har minst ett verdisett. public static Person hentTilfeldigPerson() { Random r = new Random(); List liste = new ArrayList(personer.values()); return liste.get(r.nextInt(personer.size())); } }