/ 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
Er det mig der er skør ...............
Fra : Bo Rasmussen


Dato : 13-08-01 21:28

Eller har jeg oveset etellerandet ??


Kodeklip :

String TmpStr = new String();
int Val = Integer.parseInt(szVal);

int i = 0, j=0, X=1;

TmpStr = Val;
if (decimals != 0) {
for(i=0; i < decimals; i++)
X *= 10;
TmpStr = Val/X + "," + Val%X;
}

char retstr[];
System.out.println("TmpStr = "+TmpStr);
retstr = TmpStr.toCharArray();
System.out.println("initial retstr = "+retstr);

Outputklip :

TmpStr = 1006,0
initial retstr = [C@74a24a

Jeg er ikke i tvivl om, at maskinen gør, hvad jeg har bedt den om, men
HJÆLP, (og så et Polle-citat) !!

Mange tak
Bo





 
 
The MaXx (13-08-2001)
Kommentar
Fra : The MaXx


Dato : 13-08-01 15:48

> char retstr[];
> System.out.println("TmpStr = "+TmpStr);
> retstr = TmpStr.toCharArray();
> System.out.println("initial retstr = "+retstr);

Dit problem er at toString() metoden i dit Char-array udskriver hukommelses
addressen. hvis du vil have indholdet skal du angive hvilken position du vil
have udskrevet... for alle bør du nok lave en lykke i stil med:

System.out.print("initial retstr = ");
for (int i = 0; i < retstr.length(); i++)
System.out.print(retstr[i]);

The MaXx



Bo T. Rasmussen (13-08-2001)
Kommentar
Fra : Bo T. Rasmussen


Dato : 13-08-01 15:57

Ved ikke - synes ikke, at '[C@74a24a' ligner en adresse, ihvertfald ikke
som jeg kender en adresse. Er det '74a24a'-delen, der er adressen, og hvad
er '[C@' så ??

BTW TmpStr = Val; gi'r en kompileringsfejl, har vist cuttet lidt rigeligt

Ellers Tak for'et.
Jeg kigger på det, når jeg kommer på arbejde i morgen.

Bo


"The MaXx" <the_maxx@mail.dk> skrev i en meddelelse
news:3b77e7f9$0$292$edfadb0f@dspool01.news.tele.dk...
> > char retstr[];
> > System.out.println("TmpStr = "+TmpStr);
> > retstr = TmpStr.toCharArray();
> > System.out.println("initial retstr = "+retstr);
>
> Dit problem er at toString() metoden i dit Char-array udskriver
hukommelses
> addressen. hvis du vil have indholdet skal du angive hvilken position du
vil
> have udskrevet... for alle bør du nok lave en lykke i stil med:
>
> System.out.print("initial retstr = ");
> for (int i = 0; i < retstr.length(); i++)
> System.out.print(retstr[i]);
>
> The MaXx
>
>



Brian Matzon (13-08-2001)
Kommentar
Fra : Brian Matzon


Dato : 13-08-01 16:59

"Bo T. Rasmussen" <no@email_available.dk> wrote in message
news:3b77eab7$0$386$edfadb0f@dspool01.news.tele.dk...
> Ved ikke - synes ikke, at '[C@74a24a' ligner en adresse, ihvertfald ikke
> som jeg kender en adresse. Er det '74a24a'-delen, der er adressen, og hvad
> er '[C@' så ??
<SNIP>
[C@74a24a

C = Char
@ = at (på addresseområdet)
74a24a = Adresseområdet på stacken

/Brian Matzon



Ulrik Magnusson (14-08-2001)
Kommentar
Fra : Ulrik Magnusson


Dato : 14-08-01 22:48



Brian Matzon wrote:

> [C@74a24a
>
> C = Char
> @ = at (på addresseområdet)
> 74a24a = Adresseområdet på stacken

og '[' som i en-dimensionelt array?

Ulrik Magnusson


Jan Oksfeldt Jonasen (13-08-2001)
Kommentar
Fra : Jan Oksfeldt Jonasen


Dato : 13-08-01 13:31

Bo Rasmussen <no@email_available.dk> wrote:

> char retstr[];
> System.out.println("TmpStr = "+TmpStr);
> retstr = TmpStr.toCharArray();
> System.out.println("initial retstr = "+retstr);
>
> Outputklip :
>
> TmpStr = 1006,0
> initial retstr = [C@74a24a
>
Din retstr er et char array som ikke kan udskrives med + operatoren som
ovenfor. Brug istedet linien:

System.out.println("initial retstr = " + new String(retstr));

Jeg har dog lidt svært ved at se brugbarheden af, at omsætte en streng
til array for bagefter at omsætte arrayet til en streng

--
You read this far? Okay, have a signature.

Mvh/re Jan Jonasen
jonasen (at) it (dot) dk

Bo T. Rasmussen (13-08-2001)
Kommentar
Fra : Bo T. Rasmussen


Dato : 13-08-01 18:36

<SNIP>
> System.out.println("initial retstr = " + new String(retstr));

Tange mak
>
> Jeg har dog lidt svært ved at se brugbarheden af, at omsætte en streng
> til array for bagefter at omsætte arrayet til en streng

Gammel vaneprogrammør (C++), ret ny udi javaens mysterier !!

Koden er klippet ud af et forsøg på at lave en strengformateringsrutine
(heltal i streng - i klippet fra oprindeligt indlæg '1006000'):

Ser (frit efter egen hukommelse, og uden syntaxcheck) nogenlunde således ud
:

static private String FormatString(String szVal, int Lgd, int
AntalDecimaler, int VisteDecimaler)
/* Input :
String szVal : Streng, der skal formatteres
int Lgd : Ønsket længde på returneret
streng incl.venstrestillede blanke og
evt. komma
int Antal decimaler : Hvor mange pladser kommaet skal
rykkes til venstre
int VisteDecimaler : Antal viste decimaler efter
kommaet (0 = ingen komma)

*/

{
........
' kodeklip '
.......
return new String(retstr);
}






Bo Rasmussen (14-08-2001)
Kommentar
Fra : Bo Rasmussen


Dato : 14-08-01 15:33

TAK

Meningen var dog ikke, at skrive 'retstr' ud her, men foretage noget
formatering.
Det virker efter hensigten!

Endnu engang tak
Bo



Thorbjørn Ravn Ander~ (15-08-2001)
Kommentar
Fra : Thorbjørn Ravn Ander~


Dato : 15-08-01 07:18

Bo Rasmussen wrote:

> initial retstr = [C@74a24a

Sådan virker toString bare for et char-array. Du vil normalt ikke
veksle frem og tilbage mellem strenge og char-arrays i Java. Check
StringBuffer for Java's lethåndterlige strenge.

--
Thorbjørn Ravn Andersen "...plus... Tubular Bells!"
http://bigfoot.com/~thunderbear

Bo T. Rasmussen (15-08-2001)
Kommentar
Fra : Bo T. Rasmussen


Dato : 15-08-01 21:14

Du har naturligvis ret.

Men Java er ikke umiddelbart så nemt at 'gå til', hvis der ligger for meget
C/C++ indgroet i fingrene.
Det er lykkedes mig, at få det til at virke med fremogtilbagekonverteringen,
så næste lille opgave
må naturligvis være at undgå konverteringen - det skal nok lykkes

I forhold til C++ virker Java umiddelbart noget mere robust, men jeg savner
mine pointere ;-( ,
men jeg skal nok lære det (I hope).

Tak for al hjælp.

Bo

"Thorbjørn Ravn Andersen" <thunderbear@bigfoot.com> skrev i en meddelelse
news:3B7A1429.193EA2B5@bigfoot.com...
> Bo Rasmussen wrote:
>
> > initial retstr = [C@74a24a
>
> Sådan virker toString bare for et char-array. Du vil normalt ikke
> veksle frem og tilbage mellem strenge og char-arrays i Java. Check
> StringBuffer for Java's lethåndterlige strenge.
>
> --
> Thorbjørn Ravn Andersen "...plus... Tubular Bells!"
> http://bigfoot.com/~thunderbear



Soren 'Disky' Reinke (16-08-2001)
Kommentar
Fra : Soren 'Disky' Reinke


Dato : 16-08-01 07:54

>
> I forhold til C++ virker Java umiddelbart noget mere robust,
men jeg savner
> mine pointere ;-( ,

Ja jeg er glad for man ikke skal bøvle med alle de problemmer
pointere kan lave. Og man har faktisk slet ikke brug for dem :)

Men det tager lidt tid og vende sig af med dem :)

--
With many Thanks

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




Thorbjørn Ravn Ander~ (16-08-2001)
Kommentar
Fra : Thorbjørn Ravn Ander~


Dato : 16-08-01 13:28

"Bo T. Rasmussen" wrote:

> Men Java er ikke umiddelbart så nemt at 'gå til', hvis der ligger for meget
> C/C++ indgroet i fingrene.

Det forståes. Specielt når man begynder at arbejde med objekter, kan
forskellene være forvirrende. Hvis du husker at "alt undtagen primitive
typer er objekter i java", så er du godt på vej.


> Det er lykkedes mig, at få det til at virke med fremogtilbagekonverteringen,
> så næste lille opgave
> må naturligvis være at undgå konverteringen - det skal nok lykkes

Jeg forstår ikke hvorfor du vil have det over i en char-array?

--
Thorbjørn Ravn Andersen "...plus... Tubular Bells!"
http://bigfoot.com/~thunderbear

Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408938
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste