2017-05-09 98 views
0

所以我需要根據用戶設置的參數生成隨機數,並且創建一個基本的數學表達式。他們有3個選項;單數,雙數或三位數字。所以基於此,我需要生成從0到9,0到99和0到100的隨機數。如何在c中生成一個範圍內的隨機數字#

到目前爲止,我已閱讀了關於Random類。這是我可憐的嘗試:

Random rnd = new Random(); 
int value = 0; 

if (digits == 1) 
{ 
    rnd.Next(value); 
    q1Lbl.Text = value.ToString(); 
} 
+0

https://www.bing.com/search?q=c%23+random+numbers+range –

回答

6

你需要這個過載Random.Next()

public virtual int Next(
    int minValue, 
    int maxValue 
) 

其中:

minValue =返回的隨機數的包含下界。

maxValue =返回的隨機數的唯一上限。 maxValue必須大於或等於minValue。

注意詞語的參數說明包容獨家。這意味着最小值可以返回可能的值,而最大值將是而不是是可能的。

這在返回值的描述進一步闡明:

返回值 - 一個32位帶符號整數大於或等於 minValue(最小值)和小於包括maxValue;也就是說,返回值範圍 包含minValue但不包含maxValue。如果minValue等於maxValue,則返回 minValue。

例如,爲了獲得0和9(含)之間的單個數字值,你會使用:

int value = rnd.Next(0, 10); // return a value between 0 and 9 inclusive 

要獲得兩位數,你會使用:

int value = rnd.Next(10, 100); // return a value between 10 and 99 inclusive 

最後,要獲得三位數字,您將使用:

int value = rnd.Next(100, 1000); // return a value between 100 and 999 inclusive 
0

還有的Next方法的重載,你只需要傳遞範圍:

Random rnd = new Random(); 
rnd.Next(1,20); //Gives you a number between 1 and 20 

這裏你可以找到整個文檔https://www.google.com.co/search?q=next+random+c%23&oq=next+random&aqs=chrome.1.69i57j0l5.3144j0j7&sourceid=chrome&ie=UTF-8

+1

不太會......會返回數字在1和19之間(含)。 20的值將**不包括在可能的返回值中。 –

+0

哦,謝謝你們,這清理了很多!萬分感謝 – Sal

2
Random rnd = new Random(); 
int single = rnd.Next(1, 10); // 1 ~9 
int double = rnd.Next(1, 100); // 1~99 
int triple = rnd.Next(1,101);  // 1~100 

循環它,如果你想多次實現這個值

相關問題