Как с помощью генератора случайных чисел от 0 до 5 сделать генератор случайных чисел от 0 до 7. Равномерное распределение
package test; import java.util.Random; public class TestRandom { private static final Random r = new Random(); private static final int[] result = new int[11]; public static void main(String[] args) { for (int i=0; i<100000; i++) { result[getRandom7()]++; } for (int i=0; i< result.length; i++) { System.out.println(i + " : " + result[i]); } } private static int getRandom7() { if (getNextRandom(3) != 3) { return get5(); } else { return(6 + getNextRandom(1)); } } private static int getNextRandom(int max) { int tmp = get5(); if (tmp > max) { tmp = getNextRandom(max); } return tmp; } private static int get5() { return r.nextInt(6); } }
package test; import java.util.Random; public class TestRandom { private static final Random r = new Random(); private static final int[] result = new int[11]; public static void main(String[] args) { for (int i=0; i<100000; i++) { result[getRandom7()]++; } for (int i=0; i< result.length; i++) { System.out.println(i + " : " + result[i]); } } private static int getRandom7() { if (getNextRandom(3) != 3) { return get5(); } else { return(6 + getNextRandom(1)); } } private static int getNextRandom(int max) { int tmp = get5(); if (tmp > max) { tmp = getNextRandom(max); } return tmp; } private static int get5() { return r.nextInt(6); } }
Постоянные ссылки
При копировании ссылка на TeaM RSN обязательна!