/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
String til int
Fra : Claus Jul Larsen


Dato : 27-07-01 12:22

Jeg er newbie til java-servlet.

Da getParameter() returner en String - men denne skal være af type int, da
den skal køre en for() loop med værdien som antal loop ....

Hvordan kan jeg "konvertere" en string til en int?






 
 
Soren 'Disky' Reinke (27-07-2001)
Kommentar
Fra : Soren 'Disky' Reinke


Dato : 27-07-01 12:19


"Claus Jul Larsen" <clausanne@mail.dk> skrev i en meddelelse
news:3b614dcf$0$3194$edfadb0f@dspool01.news.tele.dk...
> Jeg er newbie til java-servlet.
>
> Da getParameter() returner en String - men denne skal være af
type int, da
> den skal køre en for() loop med værdien som antal loop ....
>
> Hvordan kan jeg "konvertere" en string til en int?
>
String tal="27";
int x=Integer.parseInt(tal);

Så er String blevet lavet om til en int, bare pas på hvis der er
andet end tal i din String, så kan der komme en exception.

--
With many Thanks

Soren ' Disky ' Reinke ICQ #1413069
http://www.disky-design.dk/fish
Remove IHSYD from email address when replying by email




Claus Jul Larsen (27-07-2001)
Kommentar
Fra : Claus Jul Larsen


Dato : 27-07-01 12:32

Uha, et hurtigt svar....

Tak!

Et anden ting. Når en int variabel er tom, hvordan skriver man den i en
if-sætning?

Jeg har prøvet med:

int cols = Integer.parseInt(req.getParameter("cols"));
int rows = Integer.parseInt(req.getParameter("rows"));

"Soren 'Disky' Reinke" <disky@disky-design.ihsyd.dk> wrote in message
news:<M5c87.402$dg3.1037683720@news.euroconnect.net>...

>

> "Claus Jul Larsen" <clausanne@mail.dk> skrev i en meddelelse

> news:3b614dcf$0$3194$edfadb0f@dspool01.news.tele.dk...

> > Jeg er newbie til java-servlet.

> >

> > Da getParameter() returner en String - men denne skal være af

> type int, da

> > den skal køre en for() loop med værdien som antal loop ....

> >

> > Hvordan kan jeg "konvertere" en string til en int?

> >

> String tal="27";

> int x=Integer.parseInt(tal);

>

> Så er String blevet lavet om til en int, bare pas på hvis der er

> andet end tal i din String, så kan der komme en exception.

>

> --

> With many Thanks

>

> Soren ' Disky ' Reinke ICQ #1413069

> http://www.disky-design.dk/fish

> Remove IHSYD from email address when replying by email

>

>

>




Claus Jul Larsen (27-07-2001)
Kommentar
Fra : Claus Jul Larsen


Dato : 27-07-01 12:35

Tak for svaret. Det hjalp!

En anden spørgsmål:

int cols = Integer.parseInt(req.getParameter("cols"));
int rows = Integer.parseInt(req.getParameter("rows"));

Det er ikke altid, at cols og rows har noget værdi i sig (null) - men
hvordan laver man en if sætning, hvor den kun kører, hvis der er ikke en
værdi i enten cols eller rows eller måske begge?

Prøvede med

if (!cols || !rows) {
xxx
}

Men den duer ikke




"Soren 'Disky' Reinke" <disky@disky-design.ihsyd.dk> wrote in message
news:M5c87.402$dg3.1037683720@news.euroconnect.net...
>
> "Claus Jul Larsen" <clausanne@mail.dk> skrev i en meddelelse
> news:3b614dcf$0$3194$edfadb0f@dspool01.news.tele.dk...
> > Jeg er newbie til java-servlet.
> >
> > Da getParameter() returner en String - men denne skal være af
> type int, da
> > den skal køre en for() loop med værdien som antal loop ....
> >
> > Hvordan kan jeg "konvertere" en string til en int?
> >
> String tal="27";
> int x=Integer.parseInt(tal);
>
> Så er String blevet lavet om til en int, bare pas på hvis der er
> andet end tal i din String, så kan der komme en exception.
>
> --
> With many Thanks
>
> Soren ' Disky ' Reinke ICQ #1413069
> http://www.disky-design.dk/fish
> Remove IHSYD from email address when replying by email
>
>
>



Soren 'Disky' Reinke (27-07-2001)
Kommentar
Fra : Soren 'Disky' Reinke


Dato : 27-07-01 12:47


"Claus Jul Larsen" <clausanne@mail.dk> skrev i en meddelelse
news:3b6150c7$0$2568$edfadb0f@dspool01.news.tele.dk...
> Tak for svaret. Det hjalp!
>
> En anden spørgsmål:
>
> int cols = Integer.parseInt(req.getParameter("cols"));
> int rows = Integer.parseInt(req.getParameter("rows"));

Hvis 'cols' eller 'rows' ikke findes bliver resultatet 'null' som
så for parseInt til at lave rod i det.

Lav hellere:
String colsString=req.getParameter("cols");
String rowsString=req.getParameter("rows");
int rows=0,cols=0;
if(cols!=null)
{
cols = Integer.parseInt(colsString);
}
if(rows!=null)
{
rows = Integer.parseInt(rowsString);
}

Nu kan du så checke dem.

--
With many Thanks

Soren ' Disky ' Reinke ICQ #1413069
http://www.disky-design.dk/fish
Remove IHSYD from email address when replying by email



Claus Jul Larsen (27-07-2001)
Kommentar
Fra : Claus Jul Larsen


Dato : 27-07-01 13:18

Hvis jeg angiver

if (cols != null) {
cols = Integer.parseInt(colsString);
out.println(cols+"/"+rows+"<br>");
}

Så svarer javac med:

TestServlet.java:22: operator != cannot be applied to int,<*>
if (cols != null) {

Hm...

"Soren 'Disky' Reinke" <disky@disky-design.ihsyd.dk> wrote in message
news:Fvc87.403$Fh6.1050333204@news.euroconnect.net...
>
> "Claus Jul Larsen" <clausanne@mail.dk> skrev i en meddelelse
> news:3b6150c7$0$2568$edfadb0f@dspool01.news.tele.dk...
> > Tak for svaret. Det hjalp!
> >
> > En anden spørgsmål:
> >
> > int cols = Integer.parseInt(req.getParameter("cols"));
> > int rows = Integer.parseInt(req.getParameter("rows"));
>
> Hvis 'cols' eller 'rows' ikke findes bliver resultatet 'null' som
> så for parseInt til at lave rod i det.
>
> Lav hellere:
> String colsString=req.getParameter("cols");
> String rowsString=req.getParameter("rows");
> int rows=0,cols=0;
> if(cols!=null)
> {
> cols = Integer.parseInt(colsString);
> }
> if(rows!=null)
> {
> rows = Integer.parseInt(rowsString);
> }
>
> Nu kan du så checke dem.
>
> --
> With many Thanks
>
> Soren ' Disky ' Reinke ICQ #1413069
> http://www.disky-design.dk/fish
> Remove IHSYD from email address when replying by email
>
>



Soren 'Disky' Reinke (27-07-2001)
Kommentar
Fra : Soren 'Disky' Reinke


Dato : 27-07-01 13:37

> Hvis jeg angiver
>
> if (cols != null) {
> cols = Integer.parseInt(colsString);
> out.println(cols+"/"+rows+"<br>");
> }
>
> Så svarer javac med:
>
> TestServlet.java:22: operator != cannot be applied to int,<*>
> if (cols != null) {

hov hov.

jeg tester på colsString som jo er en String om den er !=null,
det er ikke en integer !! Stor forskel :)


--
With many Thanks

Soren ' Disky ' Reinke ICQ #1413069
http://www.disky-design.dk/fish
Remove IHSYD from email address when replying by email


>
> Hm...
>
> "Soren 'Disky' Reinke" <disky@disky-design.ihsyd.dk> wrote in
message
> news:Fvc87.403$Fh6.1050333204@news.euroconnect.net...
> >
> > "Claus Jul Larsen" <clausanne@mail.dk> skrev i en meddelelse
> > news:3b6150c7$0$2568$edfadb0f@dspool01.news.tele.dk...
> > > Tak for svaret. Det hjalp!
> > >
> > > En anden spørgsmål:
> > >
> > > int cols = Integer.parseInt(req.getParameter("cols"));
> > > int rows = Integer.parseInt(req.getParameter("rows"));
> >
> > Hvis 'cols' eller 'rows' ikke findes bliver resultatet 'null'
som
> > så for parseInt til at lave rod i det.
> >
> > Lav hellere:
> > String colsString=req.getParameter("cols");
> > String rowsString=req.getParameter("rows");
> > int rows=0,cols=0;
> > if(cols!=null)
> > {
> > cols = Integer.parseInt(colsString);
> > }
> > if(rows!=null)
> > {
> > rows = Integer.parseInt(rowsString);
> > }
> >
> > Nu kan du så checke dem.
> >
> > --
> > With many Thanks
> >
> > Soren ' Disky ' Reinke ICQ #1413069
> > http://www.disky-design.dk/fish
> > Remove IHSYD from email address when replying by email
> >
> >
>
>


Esben Mose Hansen (28-07-2001)
Kommentar
Fra : Esben Mose Hansen


Dato : 28-07-01 08:01

Claus Jul Larsen wrote:

(retter lige citeringen til...)

> En anden spørgsmål:
>
> int cols = Integer.parseInt(req.getParameter("cols"));
> int rows = Integer.parseInt(req.getParameter("rows"));
>
> Det er ikke altid, at cols og rows har noget værdi i sig (null) - men
> hvordan laver man en if sætning, hvor den kun kører, hvis der er ikke en
> værdi i enten cols eller rows eller måske begge?

>
> Prøvede med
>
> if (!cols || !rows) {
> xxx
> }

int, float, char, short etc. er primitive typer, der altid har en værdi.
String, Integer, Object etc. er objekter der kan sættes til ingen værdi,
f.eks. null. Så hvis du vil have at cols, rows kan sættes til ingen
værdi skal du bruge wrapper-class'en Integer. I så fald bliver dit program:

Integer cols = new Integer(req.getParameter("cols"));
Integer rows = new Integer(req.getParameter("rows"));

if (cols==null || rows==null) {
// cols or null may be undefined
}

jeg ville iøvrigt anbefale at putte en try { ... } catch
(NumberFormatException e) {...}

Faktisk kunne denne exception også overflødiggøre brugen af
wrapperclass'en Integer...

På det tekniske plan skyldes alt dette at objekter i virkeligheden er
pointere (plus lidt ekstra) mens de primitive variable ikke er det.
Dette skrevet fordi ovenstående ligner at du kommer fra c-verdenen.
Bemærk at !cols er meningsløst med mindre cols er en boolsk variabel.
(også i c sådanset, men mange bruger det alligevel.)


mvh. Esben


Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408847
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste