Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

94
Views
Choosing random value from weighted options in java

When the user clicks, a random output from a set of outputs must be selected. The chances for one value needs to be higher than the other. For example, you click a button and you either receive Bronze, Silver, Gold, or Platinum. Obviously, if you click randomly, you should receive Bronze more than Silver, more than Gold, more than Platinum. For example, could it maybe look like this:

printRandom("Bronze", 30, "Silver", 20, "Gold", 10, "Platinum", 5, "You didn't get anything.");

Where the final result is when you were unlucky enough to get none. I've been having trouble with making one option more common than the other, not choosing a value in the first place. Thank you.

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

If you want to keep it simple, you could do the following:

int random = Math.random();

if (random < 0.05) { // 5/100
  return "Platinum";
} else if (random < 0.1) { // 10/100
  return "Gold";
} else if (random < 0.2) { // 20/100
  return "Silver";
} else if (random < 0.3) { // 30/100
  return "Bronze";
} else {
  return "You didn't get anything.";
} 
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!