🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: be.comp.programming
6 messages
6 total messages Started by DaVa Mon, 04 Nov 2002 21:23
java: Array naar getal
#6929
Author: DaVa
Date: Mon, 04 Nov 2002 21:23
10 lines
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
#6932
Author: Chris_V
Date: Tue, 05 Nov 2002 07:59
26 lines
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
#6934
Author: MisterJ
Date: Tue, 05 Nov 2002 15:15
43 lines
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
#6936
Author: Slayerke
Date: Tue, 05 Nov 2002 19:06
51 lines
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
#6938
Author: DaVa
Date: Tue, 05 Nov 2002 22:35
66 lines
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
#6865
Author: Chris_V
Date: Thu, 07 Nov 2002 07:58
14 lines
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