Member 13458722 Ответов: 1

Рандомизация текста в случайные поля


Привет, я никогда раньше не использовал random в VB, и мне было интересно... У меня есть 4 текстовых поля, в которые вставлен текст. Теперь, когда я нажимаю кнопку, Я хочу рандомизировать текст(а не сам текст) так, чтобы каждое из 4 слов попадало в случайное текстовое поле между 4 текстовыми полями. Как бы это сделать? Имейте в виду, что я новичок в VB и хотел бы учиться.

Что я уже пробовал:

Я понятия не имею, с чего начать, я знаю, что мне может понадобиться объявить случайный объект, но это все. Пожалуйста помочь.

1 Ответов

Рейтинг:
9

OriginalGriff

Позвольте мне сначала проверить, правильно ли я вас понял - ваше объяснение не так уж ясно.
У вас есть четыре текстовых поля:

  1       2      3      4
Hello   There   My   Friend
И вы хотите нажать кнопку и "поменять местами" текст примерно случайным образом:
  1       2      3      4
There  Friend   My    Hello
Затем
  1       2      3      4
My     Friend  There  Hello
И так далее.

Это нетрудно сделать, но чтобы сделать его проще, создайте массив строк и скопируйте в него текст:
Dim data As String() = New String(3) {}
data(0) = textBox1.Text
data(1) = textBox2.Text
data(2) = textBox3.Text
data(3) = textBox4.Text
Теперь вы можете просто использовать номер индекса, чтобы решить, что нужно перемещать.
Поэтому создайте случайный экземпляр и запустите цикл:
Dim rand As Random = New Random()

For i As Integer = 0 To 10 - 1
    ...
Next
Цикл выполняется больше раз, чем есть элементы, чтобы действительно смешать их!
Внутри цикла сгенерируйте два индекса из генератора случайных чисел и поменяйте местами элементы:
Dim index1 As Integer = rand.[Next](4)
Dim index2 As Integer = rand.[Next](4)
Dim temp As String = data(index1)
data(index1) = data(index2)
data(index2) = temp

Теперь все, что вам нужно сделать, это поместить строки обратно в текстовые поля!
textBox1.Text = data(0)
textBox2.Text = data(1)
textBox3.Text = data(2)
textBox4.Text = data(3)
Все сделано!


CPallini

Мой 5.

Maciej Los

5ed!