Archief - [PROG][JAVA] zeer klein probleempje ivm arrays

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

ipodtouch_rules

Legacy Member
hallo, zie hier:


int[] Reeks1={1,2,3};

Object[] Reeks3={Reeks1,"drie",4};

System.out.println(Reeks3[0][0]);


dus mijn bedoeling is om een Reeks1 als een object in de object-array op te slaan. (reeks in reeks dus he). Dit zorgt voor problemen in de System.out

Please help !!!:hug:

CyberOps

Legacy Member
om te beginnen: je hebt rare programmeergewoontes :p
schrijf reeks1 en reeks3 eens met kleine letters.
Dan spreek je in je system.out reeks3 aan als een 2 dimentionale array, terwijl je deze gedeclareerd hebt als 1 dim. array. En is het de bedoeling dat de uiteindelijke output: 1 2 3 wordt?

CyberOps

Legacy Member
dit werkt:

//Arrays declareren
int[] reeks1={1,2,3};
Object[] reeks3={reeks1,"drie",4};

//Output genereren
int[] temp = (int[]) reeks3[0];
System.out.println( temp[0] + " " + temp[1] + " " + temp[2] );


of nog beter:

//Arrays declareren
int[] reeks1={1,2,3};
Object[] reeks3={reeks1,"drie",4};

//Output genereren
int[] temp = (int[]) reeks3[0];
for(int i = 0; i < temp.length; i++)
{
System.out.print(temp + " " );
}

ipodtouch_rules

Legacy Member
ok, mij fout, ik heb gewoon een stuk code geplukt, reeks2 ontbreekt hier :)
en ik had even de hoofdletter-conventie over het hoofd gezien.
Verder is dit maar een oefening voor mezelf.

bedankt voor de suggesties. Dus al ik bv
reeks3[0][0] wil gebruiken, mogen er enkel maar (1 dimensionale) deelreeksen in reek3 geplaatst worden ?

ipodtouch_rules

Legacy Member
ik snap het dit keer weer niet, waarom werkt deze nu dan niet ?

Code:
public class RijInRij{


public static void main(String args[]){

String[] stringreeks1={"een","twee","drie"};
String[] stringreeks2={"vier","vijf","zes"};
String[] stringreeks3={"zeven","acht","negen"};

int[] integerreeks1={1,2,3};
int[] integerreeks2={4,5,6};
int[] integerreeks3={7,8,9};

Object[] objectreeks1={integerreeks1,stringreeks1};
Object[] objectreeks2={integerreeks2,stringreeks2};
Object[] objectreeks3={integerreeks3,stringreeks3};


Object[] hoofdreeks={objectreeks1,objectreeks2,objectreeks3};


System.out.println(hoofdreeks[0][0][0]);

}
}

de fout zit'm in de system.out...

CyberOps

Legacy Member
Je maakt opnieuw dezelfde fout, alleen erger nu :p Het probleem ligt inderdaad in de System.out. Hier zeg je "hoofdreeks[0][0][0]" wat in java al niet gaat. Je moet bij het ophalen van één bepaald element uit eender welke array het element casten (= naar het correcte/bijhorende datatype omzetten). Tevens moet je array per array gaan werken: uit hoofdreeks de array halen die je wil, uit die array, de volgende array die je wil, en tenslotte uit die laatste array het element dat je wil... en steeds casten...

ipodtouch_rules

Legacy Member
jajaja , nu heb ik 'm. in feite werkte ik dus altijd met 1 dimensionale arrays. Ik heb dimensie verkeerd geinterpreteerd.

Merci !
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan