Avatar billede public2 Nybegynder
02. november 2009 - 10:04 Der er 1 kommentar og
1 løsning

Tage et indtastet input og parse en txt fil og se om der er sammenfaldende navne

Hej eksperter,

jeg er i gang med et projekt på min uddannelse, men er løbet ind i lidt problemer. Har ikke den store viden omkring Java; men er dog velbevandret i programmeringsmiljøet.

Mit hovedproblem er følgende:

Jeg skal køre et Scanner objekt hvor en bruger skal indtaste et navn på en vej. Når dette er gjort så skal koden parse og gennemløbe en ret stor tekst fil.
For at holde det simpelt så vil jeg i første omgang kun koncentrere mig om, at den skal se om det gadenavn der er blevet indtastet, om der findes flere forekomster af det (f.eks. hvis jeg indtaster "strandvejen").

Den skal så gerne returnere det antal af veje der har samme navn og egentlig skal den også foreslå de forskellige navne ud fra deres forskellige postnumre hvor man så igen kan vælge den rigtige navn i den rigtige by, men nu tager jeg det ét skridt ad gangen :-)

Et lille udsnit af hvordan den tekst fil ser ud og skal pauses er her:

FNODE# TNODE# LENGTH DAV_DK# DAV_DK-ID TYP VEJNAVN FROMLEFT TOLEFT FROMRIGHT TORIGHT FROMLEFT_BOGSTAV TOLEFT_BOGSTAV FROMRIGHT_BOGSTA TORIGHT_BOGSTAV V_SOGNENR H_SOGNENR V_POSTNR H_POSTNR KOMMUNENR VEJKODE SUBNET RUTENR FRAKOERSEL ZONE SPEED DRIVETIME ONE_WAY F_TURN T_TURN VEJNR AENDR_DATO TJEK_ID

516,178,213.50704,194687,194687,4,'Kystvejen',2,2,0,0,,,,,7116,7116,2920,2920,157,492,1,152,0,0,50,0.295,tf,,,10082780,02/07/01,4051681

Og altså det jeg skal have ud er jo så den der hedder "VEJNAVN" og som i udsnittet er 'Kystvejen'

Den skal så returnere alle de "kystveje" der er med forskelligt postnummer (V_POSTNR & H_POSTNR).

På forhånd tak for jeres hjælp

Mvh
Public2
Avatar billede odsgaard Praktikant
03. november 2009 - 02:03 #1
Hvis din data står i een linie i textfilen, så kan du læse den linie for linie og se om den pågældende linie indeholder den text du søger. Her er lige et forslag jeg har bikset sammen.

Hilsen
Brian



public void Search(String search) {
  List<String> lines = new ArrayList<String>();
  File file = new File("Test.txt");
  try {
    Scanner scan = new Scanner(file);
    while (scan.hasNext()) {
      String line = scan.nextLine();
      if (line.contains(search.toLowerCase())) {
        lines.add(line);
      }
    }
  } catch (FileNotFoundException e) {
    e.printStackTrace();
  } finally {
    for (String s : lines) {
      System.out.println(s);
    }
  }
}
Avatar billede public2 Nybegynder
20. november 2009 - 19:29 #2
Luk
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