Avatar billede nomak Nybegynder
28. april 2003 - 10:54 Der er 17 kommentarer og
1 løsning

string index out of range

Hey E

Jeg er rimelig nybegynder indenfor Java..

Jeg benytter funktionen charAt(), men den failer et sted..

log:

java.lang.StringIndexOutOfBoundsException: String index out of range: 0

    at java.lang.String.charAt(Unknown Source)

please help..

koden:
if(s.charAt(0) == '#')
Avatar billede fsconsult.dk Nybegynder
28. april 2003 - 10:58 #1
den streng du tester på er tilsyneladende tom.

du bør pakke din test ind som f.eks.:

if (s.length > 0) && (s.charAt(0) == '#')
Avatar billede Slettet bruger
28. april 2003 - 10:59 #2
hvad indeholder s?
Avatar billede nomak Nybegynder
28. april 2003 - 11:04 #3
fsconsult.dk -> det kan meget godt være den er tom, men din if virker ikke.. compiler fejl..

lts-> det varierer..
Avatar billede disky Nybegynder
28. april 2003 - 11:05 #4
For at gøre det helt fint skal du gøre:

if(s==null)s=""; //Beskytter imod NullPointerException
if(s.length>0 && s.charAt(0)=='#')
{
// lav noget
}
Avatar billede =maddog= Nybegynder
28. april 2003 - 11:05 #5
if (s!=null&&((s.length > 0) && (s.charAt(0) == '#'))
Avatar billede disky Nybegynder
28. april 2003 - 11:05 #6
at hans kode fejler compilering, skyldes paranteser er sat forkert.
Avatar billede fsconsult.dk Nybegynder
28. april 2003 - 11:06 #7
Beklager, der skal selvfølgelig være et ekstra sæt af paranteser:

if ((s.length > 0) && (s.charAt(0) == '#'))
Avatar billede =maddog= Nybegynder
28. april 2003 - 11:06 #8
Heh. Jeg er blevet sløv efterhånden.
Avatar billede =maddog= Nybegynder
28. april 2003 - 11:07 #9
if (s!=null&&((s.length > 0) && (s.charAt(0) == '#'))) tsk
Avatar billede nomak Nybegynder
28. april 2003 - 11:11 #10
cannot resolve symbol
symbol: variable length

pil under null
Avatar billede disky Nybegynder
28. april 2003 - 11:12 #11
brug:

if(s!=null && s.length>0 && s.charAt(0)=='#')
{
//bla bla
}
Avatar billede disky Nybegynder
28. april 2003 - 11:13 #12
ups
Avatar billede disky Nybegynder
28. april 2003 - 11:13 #13
dooh

if(s!=null && s.length()>0 && s.charAt(0)=='#')
{
//bla bla
}
Avatar billede disky Nybegynder
28. april 2003 - 11:14 #14
der er ingen grund til alle dine paranteser.

.length er en metode og ikke en variable som jeg fejlagtigt angav. Brug derfor .length()
Avatar billede fsconsult.dk Nybegynder
28. april 2003 - 11:15 #15
if ((s.length() > 0) && (s.charAt(0) == '#'))
Avatar billede =maddog= Nybegynder
28. april 2003 - 11:17 #16
disky> korrekt. bare s!=null er det første.
Avatar billede nomak Nybegynder
28. april 2003 - 11:19 #17
uuh tak drenge.. disky's sidste bud vandt :D
Avatar billede disky Nybegynder
28. april 2003 - 11:24 #18
mange tak :)

maddog: Lige netop ellers giver det balade :)
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