05. august 2006 - 09:04Der er
8 kommentarer og 1 løsning
Spørgsmål til random numre
Hvis jeg kalder en funktion som nedenstående får jeg samme tilfældige tal ved mindre jeg sætter et delay ind i funktionen hvor jeg kalder createTrainData(), nogen der ved hvordan jeg løser dette?
Tak AHR
public void createTrainData() { Random NewRand = new Random(); double randNumber;
Sorry, men jeg havde også lagt NewRand uden for, desværre en copy paste fejl. Det virker dog stadig ikke og jeg skal stadig benytte en Thread.Sleep() imellem funktionskaldene før det virker.
private Random NewRand = new Random();
public void createTrainData() { double randNumber; for (int i=0; i<sizeX; i++) { randNumber[i] = NewRand.NextDouble(); } }
Her er hele min kode. Som du kan se opretter jeg et antal objekter af typen CReplicate og gemmer dem i et array. Hvis jeg benytter Sleep(10) virker det ellers fungerer det ikke.
public class CReplicate { private int[] patternData; private int[] data; private int patternNumber; private int gridSize; private Random NewRand = new Random();
public CReplicate(int[] x_patternData, int x_gridSize) { patternData = x_patternData; gridSize = x_gridSize; data = new int[gridSize]; createTrainData(); }
public void createTrainData() { double limit = (double)1/(double)8; double randNumber; int pixel; int counter=0;
- på den måde inden i din CReplicate klasse. For så kaldes den jo en gang for hver gang at du opretter et nyt CReplicate-objekt. Den bør faktisk kun kaldes *en* gang totalt.
En mulig metode er at definere den som værende static:
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.