You need to sign in to do that
Don't have an account?
AmberTaylor
Get a random number that change anytime a function is called
Hello,
I have tried to generate a random number that changes any time my function is called using Math.Random. but it appears that the number is still the same in the context, and never change :
here is what i've done.
The function :
When i call the previous function :
Does someone see something wrong ?
Ty in advance for help
Amber
I have tried to generate a random number that changes any time my function is called using Math.Random. but it appears that the number is still the same in the context, and never change :
here is what i've done.
The function :
public static Integer getRandomNumber(Integer listSize){ Integer randomNumber = Integer.valueof(Math.random() * listSize); System.debug('randomNumber' + randomNumber); return randomNumber; }
When i call the previous function :
List<trailheadapp__User_Badge__c> recordsToInsert = new List<trailheadapp__User_Badge__c>(); for(Integer i=0; i<300; i++) { String randomString = badgeStatus[getRandomNumber(listSize)]; String randomBadge = badgeList[getRandomNumberForBadge(listBadgeSize)]; String randomUserID = idList[getRandomId(listIdSize)]; System.debug('RANDOM USER ID = '+randomUserID); trailheadapp__User_Badge__c newJunctionRecord = new trailheadapp__User_Badge__c (trailheadapp__External_ID__c = '0050E00000823JEQAY-a093X00001SmGRWQA'+i,trailheadapp__Status__c = randomString, trailheadapp__Badge__c = randomBadge, trailheadapp__User__c = randomUserID); recordsToInsert.add(newJunctionRecord); } insert recordsToInsert;The random number remains the sames for all records inserted, what i want is that number changes for every record.
Does someone see something wrong ?
Ty in advance for help
Amber
Can you elaborate the use case or the issue so that we can check further and respond back?
Looking forward to your response.
Thanks.
In a test class i need to create a bunch of records of trailheadapp__User_Badge__c SObject (badges object), that are linked to a user randomly. There are 7 users (previously created) and i need this number to go from 1 to 7 each time a record is added to my list that i'll insert to create all badges record once my loop is processed.
The 'error' I encounter is that my random number is generated at the beginning and never changes afterwards, that mean all my created trailheadapp__User_Badge__c SObject are always linked to the same user and it never change. Other users never have attributed badges randomly.
What i need to do in my loop that add records to my list, is each time my loop restart this variable changes : String randomUserID = idList[getRandomId(listIdSize)]; but it never changes in the context.
Maybe i need to use something else instead of Math.Random? I don't know.
TY in advance