Array

Status
Niet open voor verdere reacties.

samira100

Nieuwe gebruiker
Lid geworden
1 nov 2008
Berichten
2
wie kan mij helpen?

ik moet een array van variable lengte maken van het type int begint met -50 tot 50 of [ -50,-49,-48....0,1,2,3...50] (dus lengte = 101 )
naam = tabel
beginwaarde pos = lengte / 2, tabel [ 50] = 0,
ik moet tabel vullen met waarden - 50 tot + 50)
moet een lus maken while ( index binnen grenzen array)
{index(pos) moet met random() 1 erbij of 1 eraf de array doorlopen}
en daarna moet ik tabel [pos] printen..

ik heb een code gemaakt maar ik kom niet uit!...wie helpt mij alvast bedankt


Code:
package nieuw_versie;


public class Tabel {
    
    public Tabel()
    {
    
     int lengte = 101 ; 
      
    int [] tabel = new int[lengte];
    
     for ( int pos = 0 ; pos < tabel.length ; pos++)
     { 
              
       tabel[pos] =  (int)(Math.random()* 2) ;
     }
         
    for ( int pos = 0; pos < tabel.length; pos++)
    
    System.out.println( tabel[pos]  ); 
    } 

    public static void main(String[] args)
{
  new Tabel();
 }
}
 
Laatst bewerkt:
een array van variable lengte maken
wat bedoel je hiermee ? je zegt later dat je van -50 to +50 moet gaan, dit is dus geen variabele lengte ;)

moet een lus maken while ( index binnen grenzen array)

Ik zie geen while in je code... om door de elementen van je array te lopen kan je dit doen:

Code:
int pos=0;
while (pos < tabel.length) {
..
..
..
pos++;
}
 
hoi skinflowers teneerste bedankt voor uw reactie ,inmiddels heb ik een andere code maar daarmee print ik alleen de array ,moet een while lus maken
Code:
while (index binnen grenzen array)
{
 index(pos) = 1 erbij of 1 eraf  Met randhom()
}
hopelijk is nu de informatie duidelijk zo niet dan hoor ik het graag alvast bedankt.

ik heb wat geprobeerd en kan allen de array printen van -50 tot en met 50

Code:
package nieuw_versie;


public class Table {

    public Table(){
        
        int []waarden = new int[101] ;
       
        
        for( int beginwaarde = 0; beginwaarde < waarden.length ; beginwaarde++ )
        { 
          
            
           
                waarden[beginwaarde] = beginwaarde - 50  ;
                
                
        }
             for( int beginwaarde = 0; beginwaarde < waarden.length ; beginwaarde++ )
              
                 System.out.println( waarden[beginwaarde]  );   
                 
    }          
                 public static void main(String[] args)
            {
                new Table();
            }
   }
 
Laatst bewerkt door een moderator:
Beste "samira100",

Zou je in je berichten gebruik willen maken van de
Code:
-tag?
(Klik op het # wanneer je een bericht typt en dan je code tussen die tags plakken/typen)

Dit zorgt ervoor dat het duidelijk wat code is en het maakt het ook een stuk leesbaarder. :thumb:
 
als je met een while lus door je je tabel lopen gebruik je de volgende code:

Code:
int pos=0;
while (pos < tabel.length) {
..
..
..
pos++;
}

als je letterlijk aan je opdracht wil houden zou je dit als while statement moeten nemen:
Code:
int pos = 0;
while (pos >= 0) && pos < tabel.length) {
..
pos++;
}

de code wordt namelijk uitgevoerd als pos groter of gelijk is aan 0 EN pos kleiner is dan tabel lengte. Maar pos kan nooit kleiner dan 0 worden... dus is pos >= 0 overbodig.

Ik begrijp niet goed wat je met Random wilt. Als je door je tabel wil heen lopen en met random de waarde met 1 wil verhogen of verlagen, moet je eerst begrijpen wat Random doet.
Math.random() geeft een waarde van 0.0 t/m 1.0..(en is van het type double) Het eenvoudigste wat je kan doen is werken met een if statement:

Code:
IF (Math.random() < 0.5d {
    verlaag tabel[pos] met 1
} else {
    verhoog tabel[pos] met 1
}

0.5d, betekent een double met waarde 0.5. Deze if zal in de helft van alle gevallen 1 optellen en anders 1 aftrekken...
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan