fork(1) download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.util.concurrent.ThreadLocalRandom;
  5.  
  6. /* Name of the class has to be "Main" only if the class is public. */
  7. class Ideone {
  8. public static void main(String[] args) {
  9.  
  10. Ranges r = new Ranges()
  11. .add(233, 333)
  12. .add(377, 477)
  13. .add(610, 710);
  14. System.out.println(r.random());
  15.  
  16. }
  17. }
  18.  
  19. class Ranges {
  20. private List<Range> ranges = new ArrayList<>();
  21.  
  22. Ranges add(long min, long max) {
  23. this.ranges.add(new Range(min, max));
  24. return this;
  25. }
  26.  
  27. long random() {
  28. int index = ThreadLocalRandom.current().nextInt(ranges.size());
  29. return this.ranges.get(index).random();
  30. }
  31. }
  32.  
  33. class Range {
  34.  
  35. private long lower;
  36. private long upper;
  37.  
  38. Range(long lower, long upper) {
  39. this.lower = lower;
  40. this.upper = upper;
  41. }
  42.  
  43. long random() {
  44. return ThreadLocalRandom.current().nextLong(this.lower, this.upper);
  45. }
  46. }
Success #stdin #stdout 0.04s 2184192KB
stdin
Standard input is empty
stdout
459