Привет, коллеги-программисты! Сегодня мы собираемся погрузиться в захватывающий мир генерации случайных чисел в Dart. Работаете ли вы над игрой, симуляцией или любым другим приложением, требующим элемента случайности, овладение искусством генерации случайных чисел является обязательным. Итак, давайте засучим рукава и рассмотрим несколько способов оживить ваш код!
Метод 1. Использование класса Random из пакета dart:math
import 'dart:math';
void main() {
var random = Random();
var randomNumber = random.nextInt(100);
print('Random number: $randomNumber');
}
Этот метод использует класс Random из пакета dart:math. Мы создаем экземпляр класса Random и вызываем метод nextInt()для генерации случайного целого числа от 0 (включительно) до предоставленного максимального значения (исключительно). В приведенном выше примере мы генерируем случайное число от 0 до 99.
Метод 2: использование метода Random.secure()
import 'dart:math';
void main() {
var random = Random.secure();
var randomNumber = random.nextDouble();
print('Random number: $randomNumber');
}
Если вам нужен более безопасный генератор случайных чисел, вы можете использовать метод Random.secure(). Этот метод генерирует криптографически безопасные случайные числа, используя зависящий от платформы источник энтропии. В приведенном выше примере мы вызываем метод nextDouble(), чтобы получить случайное число с плавающей запятой от 0,0 (включительно) до 1,0 (не включая).
Метод 3. Генерация случайных чисел в определенном диапазоне
import 'dart:math';
void main() {
var random = Random();
var min = 10;
var max = 50;
var randomNumber = min + random.nextInt(max - min + 1);
print('Random number between $min and $max: $randomNumber');
}
В некоторых случаях вам может потребоваться сгенерировать случайные числа в определенном диапазоне. Для этого мы можем использовать формулу min + random.nextInt(max - min + 1). Это гарантирует, что сгенерированное число попадает в желаемый диапазон, включая как минимальное, так и максимальное значения.
Метод 4. Перетасовка списка с использованием алгоритма Фишера-Йейтса
import 'dart:math';
void main() {
var list = [1, 2, 3, 4, 5];
var random = Random();
for (var i = list.length - 1; i > 0; i--) {
var j = random.nextInt(i + 1);
var temp = list[i];
list[i] = list[j];
list[j] = temp;
}
print('Shuffled list: $list');
}
Если вам нужно перетасовать список случайным образом, вы можете использовать алгоритм Фишера-Йейтса. Этот алгоритм перебирает список и заменяет каждый элемент случайно выбранным элементом из оставшейся неперетасованной части. В результате получается случайно перетасованный список.
Метод 5. Использование конструктора math.Random()
import 'dart:math' as math;
void main() {
var random = math.Random();
var randomNumber = random.nextDouble();
print('Random number: $randomNumber');
}
Другой способ генерации случайных чисел — использование конструктора math.Random(). Этот конструктор создает случайные числа в диапазоне [0, 1). Затем вы можете манипулировать сгенерированными числами в соответствии с вашими конкретными требованиями.
Вот и все, ребята! Мы исследовали несколько методов генерации случайных чисел в Dart. Если вам нужно простое случайное целое число, безопасное случайное число, число в определенном диапазоне или перетасованный список, эти методы помогут вам. Так что вперед, добавьте в свой код немного случайности и позвольте своим приложениям ожить!