[java] - array vullen

Pagina: 1
Acties:

  • Tim Schuhmacher
  • Registratie: Januari 2000
  • Laatst online: 10-09 13:22
Ik baal er zelf eigenlijk van dat ik dit vraag, ik kan het wel oplossen, maar het moet volgens mij beter / logischer kunnen. Leerboek Java van Ammeraal bood geen oplosssingen.

Dit had ik:
code:
1
2
3
4
5
switch(nr)
{
 case 1: Point3f[] coordinaten = {g,h,i,k,n,q,p,s,r,o,m,j}; break;
 case 2: etc...
}

Maar op deze manier in het array coordinaten niet meer bekend buiten de switch.
zo:
code:
1
2
3
4
5
6
Point3f[] coordinaten;
switch(nr)
{
 case 1: coordinaten = {g,h,i,k,n,q,p,s,r,o,m,j}; break;
 case 2: etc...
}

krijg ik de foutmelding: 'illegal start of expression'
Natuurlijk kan het zo oplossen
code:
1
2
3
4
5
6
7
8
9
Point3f[] coordinaten;
switch(nr)
{
 case 1: coordinaten[1] = g;
       coordinaten[2] = h;
       etc
       break;
 case 2: etc...
}

Maar dit is niet mooi. Met een paar items in het array gaat het nog, maar ik moet er wel 30 oid inzetten. Het lijkt mij dat er wel een mooier / beter efficienter manier is.

Verwijderd

als je nou dit doet : coordinaten[nr] = { bla, blaat, flamebait} fzo??

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Die array syntax is altijd wat irritant, maar volgens mij moet dit werken:
code:
1
coordinaten = new Point3f[]{g,h,i,k,n,q,p,s,r,o,m,j};

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • Marcj
  • Registratie: November 2000
  • Laatst online: 10-09 13:43
Op vrijdag 29 maart 2002 21:01 schreef Tim Schuhmacher het volgende:
code:
1
2
3
4
5
6
Point3f[] coordinaten;
switch(nr)
{
 case 1: coordinaten = {g,h,i,k,n,q,p,s,r,o,m,j}; break;
 case 2: etc...
}

krijg ik de foutmelding: 'illegal start of expression'
Natuurlijk kan het zo oplossen
en dit dan?
code:
1
2
3
4
5
6
Point3f[12] coordinaten;
switch(nr)
{
 case 1: coordinaten = {g,h,i,k,n,q,p,s,r,o,m,j}; break;
 case 2: etc...
}

  • Tim Schuhmacher
  • Registratie: Januari 2000
  • Laatst online: 10-09 13:22
ThatsMe: nee dat kan niet, want Nr is niet arrayindex.
MarcJ: Dat gaat ook niet, want in case2 komt een ander aantal waarden in het array
Mbravenboer: ga ik proberen
edit: We have a winner: mbravenboer bedankt!

inderdaad een vreemde manier.