2015-11-22 2 views
0

Будет ли этот код производить число от 1 до 100 или от 1 до 99?Генерация случайных чисел Visual Basic

Dim oneDieGenerator As New Random 
FirstDieLabel.Text = oneDieGenerator.Next(1, 100) 
+6

Почему бы не посмотреть все самостоятельно [Random.Next] (https://msdn.microsoft.com/en-us/library/2dx6wyd4 (v = vs.110) .aspx) – Plutonix

ответ

1

Короткий ответ: 1 до 99.

ЛонгАн swer с объяснением: Выписка из MSDN документации Random.Next Method (Int32, Int32) предоставляет разъяснения о том, как следует использовать параметры:

  • MinValue: включительно нижняя граница случайного числа возвращается.
  • maxValue: эксклюзивный верхний предел случайного числа. maxValue должен быть больше или равен minValue.

Обратите внимание, я выделил слова инклюзивного и эксклюзивные - это важно. Выше просто означает, что результат

oneDieGenerator.Next(1, 100) 

Было бы что-нибудь от 1 до 100, но не включая 100. Теперь, если вы посмотрите на возвращаемое значение этого метода, вы заметили, что это целое число, то есть не включая 100 то же самое, 99. Кстати, документация Return Value говорит именно это:

  • 32-разрядное целое число, большее или равное MinValue и менее MaxValue; то есть диапазон возвращаемых значений включает minValue, но не maxValue.

Хорошо, возможно, недостаточно ясно. Независимо от того, вы можете сделать вывод, поведение из примеров - смотрите ниже на MSDN page I linked:

  • 20 случайных чисел от 1 до 10 < - для их создания, они использовали rnd.Next(1, 11).
0

Ваш код будет производить число от 1 до 99

Вы могли бы узнать себя, что ваш номер кода будет производить, установив минимальное значение 0 и максимальное значение 1 и запустить код несколько раз, чтобы увидеть, если он даст вам номер 1.

Смежные вопросы