Random Generator
//package br.com.tecnove.random.android.util; import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.Random; public class RandomGenerator { private static final Random r = new Random(); /** * Random a value from a specified range * * @param min * minimun range (inclusive) * @param max * maximun range (inclusive) * @return randomed int value */ public static int generateFromRange(int min, int max) { // swap values if they come in the wrong order if (min > max) { int aux = min; min = max; max = aux; } int i = max - min; int x = r.nextInt(i + 1); return x + min; } /** * Random a value from a string vector * * @param input * String[] containing all the possible values * @return randomed String value */ public static String generateFromStringArray(String[] input) { int i = generateFromRange(0, input.length - 1); return input[i]; } /** * Random a value from a string collection. Just a facilitator for the generateFromStringArray * * @param input * Collection of String that contains the possible values * @return randomed String value */ public static String generateFromStringCollection(Collection<String> input) { return generateFromStringArray((String[]) input.toArray()); } /** * Generate a random upercase char * * @return randomed char */ public static char generateLetter() { return (char) generateFromRange((int) 'A', (int) 'Z'); } /** * Generate random numbers for a lottery * @param maxRange limit the range from 1 to this number (included) * @param numbersToGenerate how many numbers will be generated * @return List of Integers with the non repeating values */ public static List<Integer> generateLottery(Integer maxRange, Integer numbersToGenerate) { List<Integer> numbersGenerated = new ArrayList<Integer>(); for (int c = 0; c < numbersToGenerate; c++) { int nGenerated = 0; do { nGenerated = r.nextInt(maxRange); // adding +1 to make the int start at 1 and the maxRange be included in the sorted values nGenerated++; // if the number is allready on the list, sort a new number } while (numbersGenerated.contains(nGenerated)); numbersGenerated.add(nGenerated); } return numbersGenerated; } /** * Random a value from a string with values separated by '/' * @param valor * @return */ public static String generateFromString(String valor) { // the input must be like: curitiba/fortaleza/google/facebook/android/motorola String[] vetor = valor.split("/"); String outValue = ""; if (vetor.length>0){ outValue = vetor[r.nextInt(vetor.length)]; } return outValue; } }
1. | Random Alphabet Maker | ||
2. | Next random Int | ||
3. | Random Xor Obfuscator | ||
4. | returns a random number among { 0 to count-1 } | ||
5. | Get Random Index |