login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Een int[][] random vullen met nummers tussen 0 en 15

Offline pontifex - 30/10/2011 18:08
Avatar van pontifexLid Ik heb dus geprobeerd een methode te maken om een 4x4 int[][] random te vullen maar mijn code geeft de volgende foutmelding
mijn code: http://www.plaatscode.be/141366/

de fouten:


Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 4
at ConfigGenerator$Spel.getNummer(ConfigGenerator.java:49)
at ConfigGenerator.nummerChecker(ConfigGenerator.java:33)
at ConfigGenerator.getRandomNummer(ConfigGenerator.java:23)
at ConfigGenerator.getRandomConfig(ConfigGenerator.java:9)
at Tester.main(Tester.java:5)

2 antwoorden

Gesponsorde links
Offline Abbas - 31/10/2011 10:47 (laatste wijziging 31/10/2011 10:48)
Avatar van Abbas Gouden medaille

Crew .NET
In de methode "nummerChecker" heb je in de tweede for-loop dit staan:

  1. for (int j = 0; i <= l; j++)
  2. //...

Je itereert op de verkeerde teller. Verander de 'i' eens naar 'j', dan krijg je die Exception niet meer:

  1. for (int j = 0; j <= l; j++)
  2. //...

Declareer je "Random" ook eens op class-niveau en niet op methode-niveau:

  1. public class ConfigGenerator
  2. {
  3. Spel spel= new Spel();
  4. Random generator = new Random();
  5.  
  6. public int getRandomNummer(int i, int j)
  7. {
  8. int nummer = generator.nextInt(16);
  9. //...
  10. }
  11.  
  12. //...
  13. }

Zo, hopelijk kan je nu verder! 
Offline Stijn - 01/11/2011 00:20
Avatar van Stijn PHP expert Je kan die if op regel 10 best vervangen door een while lus. Opgepast voor infinite loops... Want nu kan dat tweede nummer er ook nog eens in zitten. Het gebruik van die 4 is mss leuk maar niet aan te raden. Gebruik de length property van array's.

  1. int [] x = new int[12];
  2. for(int i = 0 ; i < x.length ; i++) {...code...}


Nu mag mijn array een lengte hebben zo groot je maar wilt. Ik hoef mijn loops niet aan te passen. Zo dynamisch mogelijk schrijven. Dan heb je minder werk achteraf.
Bedankt door: Abbas
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.231s