Problemer med subString() og indexOf()

Tags:    java

Hejsa

Jeg er som beskrevet i en tidligere tråd (http://www.udvikleren.dk/Java/Thread.aspx/3/27666/) ved at lave et program til et pokerforum, og løber i den forbindelse ind i en række småproblemer, som jeg håber at I kan hjælpe lidt med.

Jeg har nu en string der indeholder følgende:
Fold kodeboks ind/udKode 


Jeg skal ha' lavet noget kode, som kan regne summen af alle calls, raises og all-ins sammen. Dette gør jeg med nedenstående kode:

Fold kodeboks ind/udKode 


"hh" strengen indeholder hele min handhistory. "tempString" strengen har samme indhold som hh, men er beregnet til modifikationer. "tempPot" er pt. en streng, der indeholder det aktuelle bet-størrelse (denne skal senere konverteres til en int)

Mit problem er: At min tempString.indexOf(".") returnerer følgende fejl: "String index out of range: -360"

Jeg har prøvet med:
- tempString.indexOf(".")
- tempString.indexOf('.')
- tempString.indexOf("\n")

På forhånd tak for hjælpen

Mvh
Kasper



3 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Hvor får du tempstring fra og hvilken værdi har den?

For mig ser det ud til, at du finder ud af hvor beløbet er i stringen hh, men vil tage det ud af stringen tempstring.

Burde du ikke gøre sådan her:

tempPot = hh.substring(i+8, hh.indexOf(".")+2);




tempString har samme indhold som hh.

Jeg har lige prøvet med dit foreslag, men fik samme fejl :(



Prøv at ændre din indexOf til:
tempString.indexOf(".", i)

Så er du sikret at indexOf vil finde det første "." efter raises, istedet for at finde det første "." i stringen.



t