Я добавил цикл в свою программу, чтобы убедиться, что программа не выводит математический вопрос, который будет слишком сложным; что мне нужно, чтобы первое значение (левое число) было больше, чем правое, или вопрос выдаст отрицательный ответ. Однако я, очевидно, сделал это ужасно неправильно, так как он сбой программы.Программа генератора петли генератора чисел
Randomize()
Dim values1 As Integer = CInt(Int((10 * Rnd()) + 1))
First_Number.Text = values1
Sign_Box.Text = "-"
Randomize()
Dim values2 As Integer = CInt(Int((10 * Rnd()) + 1))
Second_Number.Text = values2
AnswerTextBox.Tag = values1 - values2
AnswerTextBox.Text = AnswerTextBox.Tag
Do Until values1 > values2
Loop
Там же код, я знаю, что цикл не так, но я действительно не имею ни малейшего представления о том, как работать с петлями на данный момент. Заранее благодарны за Вашу помощь.
Код 2:
Dim values1 As Integer = 0
Dim values2 As Integer() = {2, 4, 5, 10}
Dim randomizer As New Random
Dim value2 As Integer = values2(randomizer.Next(values2.Length))
Do Until values1 > values2
Randomize()
values1 = CInt(Int((10 * Rnd()) + 1))
Loop
First_Number.Text = values1
Second_Number.Text = value2
AnswerTextBox.Tag = values1/value2
AnswerTextBox.Text = AnswerTextBox.Tag
Sign_Box.Text = "/"
С выше коде, я пытаюсь сделать то же самое, но я получаю ошибку:
Ошибка 1 Operator «>» не определено для типы «Integer» и «1-мерный массив Integer».
В этом цикле ничего нет, он должен просто запереть компьютер, а не сбой. все, что вам нужно для пары случайных валов, это 'rand.Next (min, max + 1)', вы можете определить диапазон возвращаемого значения, используя класс Random. Нет цикла и гораздо меньше кода. – Plutonix
Я не вижу никакого кода в цикле. Если 'values1' больше, чем' values2', он будет зацикливаться навсегда. Нет никакого кода, чтобы попытаться получить значения, которые вы хотите. – TyCobb
У вас там опечатка. Удалите «s» так, чтобы «values2» становился «value2» в 'Do Untul values1> value2'. Ужасно названные переменные ... –