2013-12-10 3 views
-1

Мне было предложено создать графический интерфейс, который предлагает пользователю ввести минимальное и максимальное значение. Используя введенные значения, я хотел бы создать случайное целое число между ними. До сих пор у меня есть то, что ниже, но я теряюсь на том, как обеспечить, чтобы целое число было между ними. Если минимальное число равно 0, а максимальное число - что угодно, я могу получить результат правильно, но не если минимальное число ничего выше этого. Благодаря!Создание целого числа между двумя введенными пользователем значениями

private void enterButtonActionPerformed(java.awt.event.ActionEvent evt) {            
    double minNumber, maxNumber, randomValue, outputValue; 

    //Get the string data entered and parse it to numerical data 
    minNumber = Double.parseDouble(minInput.getText()); 
    maxNumber = Double.parseDouble(maxInput.getText()); 

    //create a random value to multiply off of. 
    randomValue = (Math.random()); 

    //generate random output value. 
    outputValue = (randomValue*maxNumber); 

    //output the ranomly generated number to the outputLabel on the GUI. 
    outputLabel.setText("The random value generated is: " + outputValue); 
+0

Создайте случайное число между '0' и' 1', назовите его 'x'. Затем вычислите 'min + x * (max-min)'. –

+1

Googling это было бы быстрее, чем публикация этого вопроса ... – Andrew

ответ

1
//generate random output value. 
outputValue = randomValue*(maxNumber - minNumber)+minNumber; 
+0

Это, вероятно, достаточно хорошо для целей плаката, но он слегка пристрастен к конечным значениям. –

1

Чтобы получить случайное значение, которое вы должны вычислить его таким образом:

randomValue = (Math.random() % (maxNumber - minNumber)) + minNumber; 

Кстати, вопрос уже обсуждался here.

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