1. Как генерировать случайные числа на Java
1. Используйте Math.random () в j2se, чтобы сделать систему случайным образом выбрать десятичный десятичный тип между 0 и 1, умножите ее на число, например 25, и вы можете получить случайное число в диапазоне от 0 до 25. Это недоступно в J2ME;
int randomnumber = (int) math.round (math.random ()*(max-min)+min);
2. В системном классе есть метод CurrentTimemillis (). Этот метод возвращает длинный миллисекундный номер с 0:00 1 января 1970 года в текущий. Его можно использовать в качестве случайного числа, и его также можно модуть до определенных чисел, что может ограничить диапазон случайных чисел. Когда этот метод генерирует несколько случайных чисел одновременно в цикле, он будет одинаковым значением, которое имеет определенные ограничения!
long randomnum = system.currenttimemilsis (); int randomNumber = (int) randomNum%(максимальная мин)+мин;
3. Используйте класс java.util.random, чтобы генерировать генератор случайных чисел, который также является методом, который мы часто используем для получения случайных чисел в программах J2ME. Он имеет две формы конструкторов, а именно случайные () и случайные (длинные семена). Random () использует текущее время, System.currentTimeMillis (), в качестве семян генератора, и случайный (длинное семя) использует указанное семя в качестве семян генератора. После того, как создается объект генератора случайных чисел (случайный), различные типы случайных чисел получают путем вызова различных методов: nextint (), nextlong (), nextfloat (), nextdouble () и т. Д. Если два случайных объекта используют одно и то же семя (например, оба имеют 25) и вызывают одну и ту же функцию в одном и том же порядке, они возвращают одинаковое значение.
Случайный случайный = new Random (); int randomnumber = random.nextint (max)%(максимум + 1) + мин;
2. Несоответствующие числа в рамках данного диапазона
1. Метод 1: Самый простой и прост для понимания двух циклов для удаления тяжелого веса
/ *** Случайно укажите n неопровержительных чисел в диапазоне* Самый простой и самый базовый метод* @param min Укажите минимальный диапазон* @param max Укажите максимальный диапазон* @param n Количество случайных чисел*/ public int [] randomcommon (int min, int max, int n) {if (n> (max - min + 1) || max <min n) {if (n> (max - min + 1) || } int [] result = new int [n]; int count = 0; while (count <n) {int num = (int) (math.random () * (max - min)) + min; логический флаг = true; for (int j = 0; j <n; j ++) {if (num == result [j]) {flag = false; перерыв; }} if (flag) {result [count] = num; count ++; }} return result; } 2. Метод 2: Используя функции HashSet, могут быть сохранены только разные значения
/ *** Случайно укажите N Неопределяющие числа в диапазоне* Использование функции HashSet, только различные значения могут храниться* @param min Укажите минимальное значение диапазона* @param max Укажите максимальное значение диапазона* @param n Случайное число* @param hashset <integer> set staric static void void void indempet (int int max, int max net net net net net net net net net net net net net net net net net net net net net net net net net neher neher. (n> (max - min + 1) || max <min) {return; } for (int i = 0; i <n; i ++) {// вызовать метод math.random () int num = (int) (math.random () * (max - min))+min; set.add (num); // Сохранить разные числа в хэшсет} int setSize = set.size (); // Если хранимое число меньше указанного числа, то рекурсивно генерирует случайное число оставшегося числа и цикл, так что указанный размер достигнут, если (setSize <n) {randomset (min, max, n - setsize, set); // Рекурсив}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} 3. Метод 3: Исключить случайно прибывшие числа
/*** Случайно указывают n неограниченных чисел в диапазоне* В инициализированном неучебельном массиве число генерируется случайным образом и помещается в результат. * Replace the number that is randomly sent to the array to be selected by the number corresponding to the subscript of the array to be selected (len-1)* Then randomly generate the next random number from len-2, and so on* @param max Specify the maximum range value* @param min Specify the minimum range value* @param n Number of random numbers* @return int[] Random number result set*/ public static int[] randomArray(int min,int max, int n) {int len = max-min+1; if (max <min || n> len) {return null; } // Инициализировать массив, который будет выбран для данного диапазона int [] source = new int [len]; for (int i = min; i <min+len; i ++) {source [i-min] = i; } int [] result = new int [n]; Случайный rd = new Random (); int index = 0; for (int i = 0; i <result.length; i ++) {// массив, который будет выбран от 0 до (len-2) случайный индекс = math.abs (rd.nextint () % len--); // Поместите случайное число в результат результата результата [i] = source [index]; // заменить число, случайное полученное в массиве, которое будет выбран с номером, соответствующим инспекту массива, который будет выбран (LEN-1), с номером, соответствующим выбранному типовому типпису (LEN-1). источник [index] = источник [len]; } return Result; } Призыв экземпляр:
public static void main (string [] args) {int [] result1 = randomCommon (20,50,10); для (int i: result1) {System.out.println (i); } int [] result2 = randomarray (20,50,10); для (int i: result2) {System.out.println (i); } Hashset <Integer> set = new Hashset <Integer> (); Случайный сет (20,50,10, набор); для (int j: set) {System.out.println (j); }}3. Пример кода
Тест пакета; импортировать java.util.hashset; import java.util.random; фрагмент открытого класса { /*** Случайно укажите N-неоцененные номера в диапазоне* в инициализированном неуверенном массиве, случайным образом генерируйте число и поместите его в результат,* заменить число, которое случайно выбирается на сумму, чтобы быть случайным образом отправленным по количеству, соответствующему, соответствующему, соответственно, соответствующего ароматизации, соответствующего побороку, в соответствии с позором, соответствующего позору, в соответствии с подписанием, соответствующим, соответствующим, соответственно, соответствующего позы, соответствующего позобресту, соответствующего, соответственно, соответствующим образом, соответствующему, соответствующему, соответственно, по сравнению с номером. Затем случайным образом генерируйте следующее случайное число от Len-2, и т. Д. if (max <min || n> len) {return null; } // Инициализировать массив, который будет выбран для данного диапазона int [] source = new int [len]; for (int i = min; i <min+len; i ++) {source [i-min] = i; } int [] result = new int [n]; Случайный rd = new Random (); int index = 0; for (int i = 0; i <result.length; i ++) {// массив, который должен быть выбран от 0 до (len-2) случайный индекс int s = rd.nextint ()%len; // System.out.print (s-- +","); index = math.abs (rd.nextint ()%len-); // system.out.println (index); // Поместите случайно полученное число в результат набора результатов [i] = source [index]; // заменить случайно полученное число в массиве, которое будет выбран с соответствующим номером подписка массива, который будет выбран (len-1) источник [index] = source [len]; } return Result; } public static void main (string [] args) {// int [] result1 = randomCommon (20,50,10); // для (int i: result1) {// system.out.println (i); //} int [] result2 = randomarray (0,4,5); для (int i: result2) {System.out.print (i); } // hashset <integer> set = new hashset <integer> (); // randomset (20,50,10, set); // for (int j: set) {// system.out.println (j); //}}}Выше приведено все об этой статье, я надеюсь, что для всех будет полезно изучать программирование Java.