Thread View: be.comp.programming
6 messages
6 total messages
Started by DaVa
Mon, 04 Nov 2002 21:23
java: Array naar getal
Author: DaVa
Date: Mon, 04 Nov 2002 21:23
Date: Mon, 04 Nov 2002 21:23
10 lines
1202 bytes
1202 bytes
Hoe kan ik een array omzetten naar een getal (integer of long) in volgende vorm vb array: 5|25|36|4|8|25 -----> resultaat: int = 525364825 bestaat hiervoor een api of moet ik zelf iets gaan uitzoeken? Bedankt
Re: java: Array naar getal
Author: Chris_V
Date: Tue, 05 Nov 2002 07:59
Date: Tue, 05 Nov 2002 07:59
26 lines
1563 bytes
1563 bytes
On Mon, 04 Nov 2002 22:23:18 +0100, DaVa wrote:
> Hoe kan ik een array omzetten naar een getal (integer of long) in
> volgende vorm
>
> vb array: 5|25|36|4|8|25
> ----->
> resultaat: int = 525364825
StringBuffer sb = new StringBuffer();
for(int i=0; i<array.length; i++){
sb.append(array[i]);
}
int getal = Integer.parseInt(sb.toString());
// long getal = Long.parseLong(sb.toString());
Gewoon de standaard String operaties gebruiken dus :-).
mvg
Chris
Re: java: Array naar getal
Author: MisterJ
Date: Tue, 05 Nov 2002 15:15
Date: Tue, 05 Nov 2002 15:15
43 lines
2286 bytes
2286 bytes
Chris_V wrote:
> On Mon, 04 Nov 2002 22:23:18 +0100, DaVa wrote:
>
>> Hoe kan ik een array omzetten naar een getal (integer of long) in volgende
>> vorm
>>
>> vb array: 5|25|36|4|8|25
>> ----->
>> resultaat: int = 525364825
>
>
>
> StringBuffer sb = new StringBuffer();
> for(int i=0; i<array.length; i++){
> sb.append(array[i]);
> }
> }
> int getal = Integer.parseInt(sb.toString());
>
> // long getal = Long.parseLong(sb.toString());
>
>
> Gewoon de standaard String operaties gebruiken dus :-).
Aangezien getallen geen strings zijn, kan het wellicht nog iets effici�nter...
maar bovenstaande is wel juist uiteraard. Ik dacht aan iets als:
long resultaat = 0;
for (int i=0; i<array.length; i++) {
resultaat << blah; //plaats maken
resultaat += array[i]; //toevoegen
}
Nu moet je juist nog weten hoeveel bits je moet opschuiven (er staat "blah" in
de code). Dat moet dus het aantal bits zijn die het getal array[i] echt nodig
heeft... Ik kan er nu even niet opkomen hoe je dat gemakkelijk kunt doen, maar
je begrijpt waar ik naar toe wil ;-)
--
groeten,
MisterJ
Re: java: Array naar getal
Author: Slayerke
Date: Tue, 05 Nov 2002 19:06
Date: Tue, 05 Nov 2002 19:06
51 lines
2634 bytes
2634 bytes
MisterJ wrote:
> Chris_V wrote:
>
>> On Mon, 04 Nov 2002 22:23:18 +0100, DaVa wrote:
>>
>>> Hoe kan ik een array omzetten naar een getal (integer of long) in
>>> volgende vorm
>>>
>>> vb array: 5|25|36|4|8|25
>>> ----->
>>> resultaat: int = 525364825
>>
>>
>>
>> StringBuffer sb = new StringBuffer();
>> for(int i=0; i<array.length; i++){
>> sb.append(array[i]);
>> }
>> }
>> int getal = Integer.parseInt(sb.toString());
>>
>> // long getal = Long.parseLong(sb.toString());
>>
>>
>> Gewoon de standaard String operaties gebruiken dus :-).
>
> Aangezien getallen geen strings zijn, kan het wellicht nog iets
> effici�nter... maar bovenstaande is wel juist uiteraard. Ik dacht aan iets
> als:
>
> long resultaat = 0;
> for (int i=0; i<array.length; i++) {
> resultaat << blah; //plaats maken
> resultaat += array[i]; //toevoegen
> }
>
> Nu moet je juist nog weten hoeveel bits je moet opschuiven (er staat
> "blah" in de code). Dat moet dus het aantal bits zijn die het getal
> array[i] echt nodig heeft... Ik kan er nu even niet opkomen hoe je dat
> gemakkelijk kunt doen, maar je begrijpt waar ik naar toe wil ;-)
>
>
Met enkel integer operaties kan het denk ik nog effici�nter, aangezien
stringbewerkingen een veelvoud duurder zijn.
long resultaat=array[array.length-1];
for (int i=0;i<(array.length-2);i++)
resultaat+=array[i]*(10*(array.length-(i+1)));
--
Groeten,
Slayerke
Re: java: Array naar getal
Author: DaVa
Date: Tue, 05 Nov 2002 22:35
Date: Tue, 05 Nov 2002 22:35
66 lines
3225 bytes
3225 bytes
"Slayerke" <slayerkenospammer@slayerke.co.uk> schreef in bericht
news:BEUx9.5706$Nd.1639@afrodite.telenet-ops.be...
> MisterJ wrote:
>
> > Chris_V wrote:
> >
> >> On Mon, 04 Nov 2002 22:23:18 +0100, DaVa wrote:
> >>
> >>> Hoe kan ik een array omzetten naar een getal (integer of long) in
> >>> volgende vorm
> >>>
> >>> vb array: 5|25|36|4|8|25
> >>> ----->
> >>> resultaat: int = 525364825
> >>
> >>
> >>
> >> StringBuffer sb = new StringBuffer();
> >> for(int i=0; i<array.length; i++){
> >> sb.append(array[i]);
> >> }
> >> }
> >> int getal = Integer.parseInt(sb.toString());
> >>
> >> // long getal = Long.parseLong(sb.toString());
> >>
> >>
> >> Gewoon de standaard String operaties gebruiken dus :-).
> >
> > Aangezien getallen geen strings zijn, kan het wellicht nog iets
> > effici�nter... maar bovenstaande is wel juist uiteraard. Ik dacht aan
iets
> > als:
> >
> > long resultaat = 0;
> > for (int i=0; i<array.length; i++) {
> > resultaat << blah; //plaats maken
> > resultaat += array[i]; //toevoegen
> > }
> >
> > Nu moet je juist nog weten hoeveel bits je moet opschuiven (er staat
> > "blah" in de code). Dat moet dus het aantal bits zijn die het getal
> > array[i] echt nodig heeft... Ik kan er nu even niet opkomen hoe je dat
> > gemakkelijk kunt doen, maar je begrijpt waar ik naar toe wil ;-)
> >
> >
> Met enkel integer operaties kan het denk ik nog effici�nter, aangezien
> stringbewerkingen een veelvoud duurder zijn.
> long resultaat=array[array.length-1];
> for (int i=0;i<(array.length-2);i++)
> resultaat+=array[i]*(10*(array.length-(i+1)));
> --
> Groeten,
> Slayerke
Jongens, allemaal bedankt voor jullie reactie,
dankzei jullie heb ik volgende code in men programma kunnen plaatsten (en
het werkt :) )
StringBuffer sb = new StringBuffer();
for(int i=0; i<Array.length; i++) sb.append(Array[i]);
long resultaat = Long.parseLong(sb.toString());
return resultaat;
greetz DaVa
Re: java: Array naar getal
Author: Chris_V
Date: Thu, 07 Nov 2002 07:58
Date: Thu, 07 Nov 2002 07:58
14 lines
1781 bytes
1781 bytes
> Met enkel integer operaties kan het denk ik nog effici�nter, aangezien > stringbewerkingen een veelvoud duurder zijn. long > resultaat=array[array.length-1]; for (int i=0;i<(array.length-2);i++) > resultaat+=array[i]*(10*(array.length-(i+1))); Daar heb je wel gelijk in maar ik denk dat de StringBuffer methode veeeel simpeler is en aangezien efficientie hier waarschijnlijk geen punt is,.... Maar, je hebt gelijk: Efficientie moet ook vaak beschouwd worden en dit vergat ik hier even :D. mvg Chris
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads