Conditon med strings ikke opfyldt

Tags:    java

Hejsa.

Jeg er en ivrig hobby pokerspiller, og bruger ofte poker foraet http://www.pokernet.dk/forum/default.asp, hvor spillere kan mødes og poste hænder der kan blive analyseret.

For at poste en pokerhånd på siden, skal den overholde en bestemt formatering. Eksempelvis skal brugerens nick være skiftet til "Hero", Ah (Ace of hearts) skal skrives som A[h] osv.

Jeg har derfor givet mig i kast med at skrive en Java app der kan udføre denne formatering.

Jeg har herunder lige posted et eksempel på en original Hand History (HH) og en converted HH


Den originale HH:
Fold kodeboks ind/udKode 


Den konverterede HH:
Fold kodeboks ind/udKode 


Jeg har dog et problem med at få udskiftet mine "hole cards" altså at få udskiftet "Ah" med "A[h]", og har derfor vedhæftet min kode herunder - der er en masse kommentarer - håber de gavner mere end de forvirrer :)

Jeg har markered den if-sætning jeg ikke kan få opfyldt med fed. Håber en af Jer ligger inde med en løsning :)

Fold kodeboks ind/udKode 


Jeg har, som der står i min kommentar forsøgt med "==", "a.equals(b)" "a.match(b)", men ingen af dem fungerer.

Mvh
Kasper

PS: Har ingen fornemmelse af hvad der er normalt at give af point, så håber ikke det er helt i skoven :P



2 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 5 karma
Sorter efter stemmer Sorter efter dato
Hej Kasper,
Jeg har lige siddet og gloet din kode lidt igennem.

Grunden til at din String condition ikke bliver opfyldt er at du forsøger at sammenligne et char[] array med en streng.

For at gøre det muligt at bruge f.eks. .equals() bør du bruge en StringBuffer i stedet.

F.eks.

Fold kodeboks ind/udKode 


herefter kan du bruge .toString() på blahBuffer og bruge de traditionelle String metoder.

Jeg har dog tilladt mig at lave dit program i en alternativ version.
Blot for komme med et eksempel på hvordan det kunne gøres.
http://arnbak.com/~lars/code/HandConverter.java

Mvh
Lars





Hej Lars.

Mange tak for hjælpen!

Jeg fandt også ud af at fejlen var omkring mit char array. funktionen der laver med char array om til en streng (.toString()), lavede char arrayet om til variablens navn+@+hashværdien, hvilket var grunden til at min condition aldrig blev opfyldt.

Super alternativ version du har lavet. Vi er lige lidt presset med COP4 og ASD3 projekter lige nu, men der bliver helt sikkert bygget videre på din version, når jeg engang får tid :)

Mvh
Kasper



Indlæg senest redigeret d. 24.02.2009 13:03 af Bruger #13645
t