Как да се справим с генератор на произволни числа и низове в Java?



Тази статия ще ви запознае с генератора на произволни числа и низове в Java и ще го последва с програмна демонстрация.

Тази статия ще ви запознае с Случайно число И String Generator в Java и го последвайте с програмна демонстрация. Следните указания ще бъдат обхванати в тази статия,

Има три метода за генериране на случайни числа в java с помощта на вградени методи и класове.





  • Java.util.Random клас
  • Math.random метод
  • ThreadLocalRandom клас

Така че нека започнем статия за генератор на произволни числа и низове в Java,

Java .Полезен. Случайно

На първо място, трябва да създадем екземпляр на този клас в програмата и след това да извикаме различните вградени методи като nextInt (), nextDouble () и т.н., използвайки екземпляра, който създадохме.
С помощта на този клас могат да бъдат създадени произволни числа от цели числа, float, double, long, booleans.
Аргументи могат да бъдат предадени на методите за определяне на горната граница, до която трябва да се генерира числото. Например, nextInt (4) ще генерира числа в диапазона от 0 до 3 (и двете включително).



Пример1:

// Java програма за показване на генериране на произволни числа // с помощта на java.util.Random import java.util.Random публичен клас Main {public static void main (String args []) {// създаване на екземпляр на Random class Random rand = new Random () // Генериране на произволни цели числа в диапазон от 0 до 99 int int1 = rand.nextInt (100) int int2 = rand.nextInt (100) // Отпечатване на произволни цели числа System.out.println ('Random Integers:>' + int1) System.out.println ('Random Integers:>' + int2) // Генериране на произволни двойни двойни dub1 = rand.nextDouble () double dub2 = rand.nextDouble () // Печат на произволни двойни System.out.println (' Случайни двойки:> '+ dub1) System.out.println (' Случайни двойки:> '+ dub2)}}

Изход:

Изходен произволен брой и генератор на низове в java- Edureka



Пример:

// Java програма за показване на генериране на произволни числа // с помощта на java.util.Random import java.util.Random публичен клас Main {public static void main (String args []) {// създаване на екземпляр на Random class Random rand = new Random () // Генериране на произволни цели числа в диапазон от 0 до 9 int int1 = rand.nextInt (10) // Отпечатване на произволно цяло число System.out.println ('Random Integer:>' + int1)}}

Изход:

мощност би срещу таблица 2016

Продължавайки с тази статия

Математика . случайни ( )

Класът, наречен Math, се състои от различни методи за извършване на редица различни числови операции, които включват логаритми, решаване на степенуване и др. Сред тези операции има random (), който се използва за генериране на произволни числа от двойни тип между диапазона от 0.0 до 1.0 . Този метод връща двойна стойност, която е или по-голяма или равна на 0,0 и по-малка или равна на 1,0 заедно с положителен знак. Стойностите, които се връщат от random (), се избират произволно от машината.

Пример 1:

// Java програма за демонстрация на работа на // Math.random () за генериране на произволни числа import java.util. * Public class Main {public static void main (String args []) {// Генериране на произволна стойност на тип данни double System.out.println ('Случайна стойност:' + Math.random ())}}

Изход:

За да проверите случайността, можете да изпълните програмата още веднъж.

замяна срещу претоварване c ++
// Java програма за демонстрация на работа на // Math.random () за генериране на произволни числа import java.util. * Public class Main {public static void main (String args []) {// Генериране на произволна стойност на тип данни double System.out.println ('Друга произволна стойност:' + Math.random ())}}

Изход:

Продължавайки с тази статия за произволен брой и генератор на низове в Java

Клас Java.util.concurrent.ThreadLocalRandom

Този клас е въведен в java 1.7 за генериране на случайни числа от типа данни, целочислени, двойни, булеви и т.н.
Пример 1:

// Java програма за демонстриране на работата на ThreadLocalRandom // за генериране на случайни числа. import java.util.concurrent.ThreadLocalRandom публичен клас Main {public static void main (String args []) {// Генериране на произволни цели числа в диапазон от 0 до 99 int int2 = ThreadLocalRandom.current (). nextInt () // Отпечатване на произволно цяло число System.out.println ('Random Integers:' + int2) // Генериране на произволни двойни двойни dub1 = ThreadLocalRandom.current (). NextDouble () double dub2 = ThreadLocalRandom.current (). NextDouble () // Печат на произволни двойни система. out.println ('Случайни двойки:' + dub1) System.out.println ('Случайни двойки:' + dub2)}}

Изход:

Пример 2:

// Java програма за демонстриране на работата на ThreadLocalRandom // за генериране на произволни числа. import java.util.concurrent.ThreadLocalRandom публичен клас Main {public static void main (String args []) {// Генериране на произволни булеви булеви bool1 = ThreadLocalRandom.current (). nextBoolean () boolean bool2 = ThreadLocalRandom.currentan). () // Отпечатайте произволни логически System.out.println ('Случайни логически:' + bool1) System.out.println ('Случайни логически:' + bool2)}}

Изход:

Продължавайки с тази статия за произволен брой и генератор на низове в Java

Генериране на произволен низ в Java

Можем да генерираме произволен буквено-цифров низ, като използваме следните методи:

Продължавайки с тази статия за произволен брой и генератор на низове в Java

Използване на математика . случайни ( )

По-долу е даден пример за разбиране на концепцията по-добре.

предаване по стойност и преминаване по референтен java
// Java програма, генерираща произволен AlphaNumeric String // с помощта на метода Math.random () public class Main {// дефиниране на функция за генериране на произволен низ с дължина n static String RequiredString (int n) {// избрах произволен символ от този низ String AlphaNumericString = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + '0123456789' + 'abcdefghijklmnopqrstuvxyz' // създаване на StringBuffer размер на AlphaNumericString StringBuilder s = нов StringBuilder y = нов StringBuilder y = нов StringBuilder y

Изход:

Продължавайки с тази статия за произволен брой и генератор на низове в Java

Използване на CharSet

Тук трябва да използваме различен пакет, т.е.пакет java.nio.charset.
По-долу е илюстриран пример.

// Java програма генерира произволен AlphaNumeric String // с помощта на CharSet import java.util. * Import java.nio.charset. * Class Main {static String RequiredString (int n) {// дължина байт [] масив = нов байт [256] new Random (). NextBytes (array) String randomString = new String (array, Charset.forName ('UTF-8')) // Създаване на StringBuffer StringBuffer ra = new StringBuffer () // Добавяне на първите 20 буквено-цифрови знака за (int i = 0 i = 'a' && ch = 'A' && ch = '0' && ch 0)) {ra.append (ch) n--}} // връщане на резултантния низ return ra.toString ()} public static void main (String [] args) {// размер на произволен буквено-цифров низ int n = 10 // Вземете и покажете буквено-цифровия низ System.out.println (RequiredString (n))}}

Изход:

Продължавайки с тази статия за произволен брой и генератор на низове в Java

Използване на регулярни изрази

Внедряването е както следва пример.

// Java програма генерира произволен AlphaNumeric String // използвайки метода на регулярните изрази import java.util. * Import java.nio.charset. * Class Main {static String getAlphaNumericString (int n) {// length byte [] array = нов байт [256] нов Random (). nextBytes (масив) String randomString = нов String (масив, Charset.forName ('UTF-8')) // Създаване на StringBuffer StringBuffer ra = нов StringBuffer () // премахване на всички пространствени char String AlphaNumericString = randomString .replaceAll ('[^ A-Za-z0-9]', '') // Добавете първите 20 буквено-цифрови символа // от генерирания случаен низ в резултата за (int k = 0 k 0) || Character.isDigit (AlphaNumericString.charAt (k)) && (n> 0)) {ra.append (AlphaNumericString.charAt (k)) n--}} // връщане на резултантния низ return ra.toString ()} публична статика void main (String [] args) {// размер на произволен буквено-цифров низ int n = 15 // Вземете и покажете буквено-цифровия низ System.out.println (getAlphaNumericString (n))}}

Изход:

Така стигнахме до края на тази статия. Ако искате да научите повече, разгледайте от Edureka, доверена компания за онлайн обучение. Курсът за обучение и сертифициране на Java J2EE и SOA на Edureka е предназначен да ви обучи както за основните, така и за разширените Java концепции, заедно с различни Java рамки като Hibernate & Spring.

Имате въпрос към нас? Моля, споменете го в раздела за коментари на този блог и ние ще се свържем с вас възможно най-скоро.