fork download
  1. import java.util.*;
  2. import java.util.regex.*;
  3. import java.lang.*;
  4.  
  5. class Main {
  6. public static String replaceRandom(String input) {
  7. Pattern p = Pattern.compile("(?<=\\[)Random\\((\\d+),(\\d+)\\)(?=\\])");
  8. Matcher m = p.matcher(input);
  9. String output = input;
  10. if (m.find()) {
  11. int min = Integer.valueOf(m.group(1));
  12. int max = Integer.valueOf(m.group(2));
  13. int rand = min + (int)(Math.random() * ((max - min) + 1));
  14. output = output.substring(0, m.start()) +rand+ output.substring(m.end());
  15. }
  16. return output;
  17. }
  18.  
  19. public static void main(String[] args) {
  20. System.out.println("(1,9): " + replaceRandom("$.store.book[Random(1,9)].title"));
  21. System.out.println("(1,999): " + replaceRandom("$.store.book[Random(1,999)].title"));
  22. System.out.println("(50,200): " + replaceRandom("$.store.book[Random(50,200)].title"));
  23. System.out.println();
  24. System.out.println("(1,9): " + replaceRandom("$.store.book[Random(1,9)].title"));
  25. System.out.println("(1,999): " + replaceRandom("$.store.book[Random(1,999)].title"));
  26. System.out.println("(50,200): " + replaceRandom("$.store.book[Random(50,200)].title"));
  27. System.out.println();
  28. System.out.println("(1,9): " + replaceRandom("$.store.book[Random(1,9)].title"));
  29. System.out.println("(1,999): " + replaceRandom("$.store.book[Random(1,999)].title"));
  30. System.out.println("(50,200): " + replaceRandom("$.store.book[Random(50,200)].title"));
  31. System.out.println();
  32. System.out.println("(1,9): " + replaceRandom("$.store.book[Random(1,9)].title"));
  33. System.out.println("(1,999): " + replaceRandom("$.store.book[Random(1,999)].title"));
  34. System.out.println("(50,200): " + replaceRandom("$.store.book[Random(50,200)].title"));
  35. }
  36. }
Success #stdin #stdout 0.07s 381248KB
stdin
Standard input is empty
stdout
(1,9): $.store.book[9].title
(1,999): $.store.book[753].title
(50,200): $.store.book[88].title

(1,9): $.store.book[7].title
(1,999): $.store.book[233].title
(50,200): $.store.book[88].title

(1,9): $.store.book[4].title
(1,999): $.store.book[442].title
(50,200): $.store.book[172].title

(1,9): $.store.book[8].title
(1,999): $.store.book[745].title
(50,200): $.store.book[134].title