Seneste forumindlæg
Køb / Salg
 * Uofficiel Black/White liste V3
Login / opret bruger

Forum \ Programmering og webdesign \ Programmering
Denne tråd er over 6 måneder gammel

Er du sikker på, at du har noget relevant at tilføje?

Java - sammenligne input streams

Af Juniorbruger f1ske | 18-12-2012 14:04 | 985 visninger | 9 svar, hop til seneste
Hej HOL. Jeg læser til datamatiker på første semester, så jeg er stadig en rimelig stor noob, når det kommer til programmering, og nu sidder jeg så og er ved at rive håret af mig selv, fordi jeg simpelthen ikke kan komme på en måde at løse min opgave på. I min opgave skal jeg bruge en FileReader til at indlæse to filer bestående af Strings, og derefter finde ud af hvor mange af dem der er skrevet i begge filer, samt hvor mange der i den første - men ikke den anden. Synes at jeg har forsøgt at gøre det på alle de måder jeg kan komme på, men intet af det har virket. Har smidt min kode (det seneste forsøg) ind i PasteBin, hvis der skulle være en klog java mand, som ville være barmhjertig at se på det en gang. På forhånd tak. :)
--
You are now breathing manually...
#1
f1ske
Juniorbruger
18-12-2012 14:04

Rapporter til Admin
Lol - selvfølgelig glemte jeg linket. http://pastebin.com[...]
--
You are now breathing manually...
#2
thcleaner
Giga Supporter
18-12-2012 14:19

Rapporter til Admin
består filerne af text eller string objer?
--
[email protected], Coolmaster V8 køler, 4gb ddr2 pc8500, XFX DD 7950 Biostar I45 Tpower, s23a700d,OCZ 650W, 1TB Seagate, Vision Silnet kabinet, BD drev
#3
f1ske
Juniorbruger
18-12-2012 14:27

Rapporter til Admin
#2: Det er txt-filer som er fyldt med nogle MD5-koder.
--
You are now breathing manually...
#4
L.T. Hansen
Ultra Nørd
18-12-2012 14:49

Rapporter til Admin
Går ud fra at MD5 værdierne er delt op for hver linje, og det er dem der skal sammenlignes? Lige til løsningen er at smide begge filer i et array (split ved hver linje) dvs. fil1Ar og fil2Ar. Så det bare at sammenligne fill1Ar[i] med alle i fil2Ar. indtil fill1Ar er tomt. Var det til at forstå? Der findes sikkert en bedre løsning på problemet. kunne gør brug af en hashmap, men ved ik hvor langt i er nået med det?
--
YEAH, har fundet på noget vildt sejt at skrive HER... damn, har bare glemt det ;P
#5
f1ske
Semibruger
18-12-2012 15:07

Rapporter til Admin
#4 Hashmap er vi ikke nået til endnu, og hvordan er det du har skrevet anderledes end det jeg selv har prøvet på i findDoubles()? :) Opgaven går også ud på at det skal gøres så hurtigt som muligt, så de txt-filer vi har fået har like... 500.000 MD5 koder i hver.
--
You are now breathing manually...
#6
Grydeskeen
Elitebruger
18-12-2012 15:21

Rapporter til Admin
#5 I din findDoubles tjekker du kun hvorvidt om linje 1 i fil 1 er den samme som linje 1 i fil 2, og om linje 2 i fil 1 er den samme som linje 2 i fil 2. Hvis du har problemer med at finde ud af hvordan du skal gøre, så prøv at sætte dig ned med to stykker papirer og brug dine fingre til at visualisere hvordan du ville søge igennem for dubleter. :)
--
#7
CRJ84
Superbruger
18-12-2012 15:21

Rapporter til Admin
Du skal nok bruge et dobbelt loop vil jeg tro? foreach (var item in md51) { foreach (var item2 in md52) { if (item.Contains(item2)) { //Hvis den indeholder samme string gør noget her, ved ikke lige om det virker :P } } }
--
#8
Grydeskeen
Elitebruger
18-12-2012 15:26

Rapporter til Admin
#7 Man kan i Java tjekke om en container indeholder et givent element. Så han kan tjekke for(String md5 : MD5Container1) { if(MD5Container2.contains(md5)) { // Contains } } Man kan dog med fordel tjekke med O(n*logn) i stedet for O(n^2)
--
#9
f1ske
Semibruger
18-12-2012 15:47

Rapporter til Admin
#6 Tak for hjælpen. Det var også det min gruppe og jeg havde prøvet at gøre, da vi kom frem til den måde vi har forsøgt at gøre det på nu. Men vi må vel bare sætte os ned, og prøve en gang til. Man bliver bare så forbandet træt af det, når man bare ikke kan finde den rigtige løsning. :)
--
You are now breathing manually...

Opret svar til indlægget: Java - sammenligne input streams

Grundet øget spam aktivitet fra gæstebrugere, er det desværre ikke længere muligt, at oprette svar som gæst.

Hvis du ønsker at deltage i debatten, skal du oprette en brugerprofil.

Opret bruger | Login
NYHEDSBREV
Afstemning