c random number c random string generator with code examples
Научите како да генеришете случајни број Ц #, насумичну абецеду и насумични низ који садржи посебне знакове у овом информативном водичу за Ц # са примерима кода:
Постоје сценарији у којима се од нас захтева да генеришемо случајне бројеве, абецеде, знакове итд. Да бисмо то постигли, на располагању нам је класа Рандом у системском простору имена.
Случајна класа вам омогућава насумично генерисање целобројне вредности. Коришћењем ове случајне класе може се генерисати другачији скуп бројева / знакова. О томе ћемо даље разговарати у овом упутству.
=> Овде погледајте комплетну серију Ц # тренинга
Шта ћете научити:
- Како се генерише насумични цео број у Ц #?
- Како генерирати насумичне абецеде?
- Генериши случајни алфанумерички низ са специјалним знаковима
- Закључак
Како се генерише насумични цео број у Ц #?
Случајна класа нуди три методе преоптерећења за генерисање целих бројева на основу параметра који пружа корисник. Погледајмо све три методе.
Коришћење Ц # Рандом.Нект ()
Следеће садржи три преоптерећења:
Даље () Без аргумента
Прво преоптерећење за Рандом.Нект () не захтева никакав аргумент. Враћа ненегативну целобројну вредност.
Пример:
class Program { public static void Main(string() args) { Random ran = new Random(); int a = ran.Next(); Console.WriteLine('The random number generated is: {0}', a); Console.ReadLine(); } }
Резултат горњег програма биће било која ненегативна случајна вредност:
Оутпут
Генерирани случајни број је: 157909285
Даље () Са једним аргументом
Следеће преоптерећење за Рандом.Нект () прихвата један аргумент. Наведени аргумент наводи максималну вредност коју метода може генерисати. Максимална вредност треба да буде већа или једнака нули. Враћа негативан цео број са максималном вредношћу као аргумент који даје корисник.
Пример:
class Program { public static void Main(string() args) { Random ran = new Random(); int a = ran.Next(1000); Console.WriteLine('The random number generated by Random.Next(argument) is: {0}', a); Console.ReadLine(); } }
Излаз горњег програма генерисаће цео број већи од нуле и мањи од максималне унете вредности, тј. 1000.
Оутпут
Случајан број који генерише Рандом.Нект (аргумент) је: 574
Питања и одговори за испитивање аутоматизације селена у селену
Даље () Са два аргумента
Случајна класа се користи за симулацију случајног догађаја. Да бисмо генерисали случајни знак, користимо Нект (). Нект () прихвата два аргумента, први је минимална и укључива вредност дозвољена за случајни генератор.
Други аргумент прихвата максималну ексклузивну вредност. Максимална ексклузивна вредност значи да вредност прослеђена у другом аргументу никада неће бити генерисана. Генерирана вредност ће увек бити мања од максималне вредности.
Погледајмо једноставан програм:
class Program { public static void Main(string() args) { Random ran = new Random(); int a = ran.Next(10, 1000); Console.WriteLine('The random number generated by Random.Next(minVal, maxVal) is: {0}', a); Console.ReadLine(); } }
Излаз горњег програма ће произвести вредност између датог опсега, тј. Између 10 и 1000 где је укључена минимална вредност, тј.
Оутпут
Случајан број који генерише Рандом.Нект (минВал, макВал) је: 137
У горњем примеру смо разговарали о томе како генерисати случајни цели број. Али у случају да желите да генеришете случајну абецеду, ми ћемо користити класу Рандом.
Како генерирати насумичне абецеде?
Случајну абецеду можемо генерисати користећи класу рандом. Иако класа Рандом враћа само цео број, то можемо користити за генерисање случајних абецеда.
шта је план тестирања у тестирању софтвера
Најлакши начин за то је комбиновање методе „ЕлементАт“ са Рандом.Нект () како би се указало на положај случајне абецеде из низа абецеда.
Пример:
class Program { public static void Main(string() args) { Random ran = new Random(); String b = 'abcdefghijklmnopqrstuvwxyz'; int length = 6; String random = ''; for(int i =0; i Резултат горе наведеног програма биће:
Генерирана случајна абецеда је: ицисјд
Објашњење кода
Слично нашим претходним примерима, овде смо креирали случајни објекат. Тада смо све абецеде ускладиштили у низ тј. Стринг б. Дефинисали смо променљиву названу „дужина“ целобројног типа која ће означавати број знакова потребан у насумично генерисаном низу.
Иницијализовали смо празан низ насумично, где ћемо чувати наше абецеде. Тада смо написали фор петљу. Унутар петље фор користили смо Рандом.Нект () за генерисање случајног броја мањег од 26, јер је број абецеда које смо ускладиштили у Стрингу б 26. Можете и друге бројеве у зависности од захтева.
Стога ће инт а имати случајни број генерисан током сваког циклуса петље, а затим ће се тај број користити као индикатор положаја да би се добио лик који позиционира помоћу ЕлементАт (). Ово ће дати случајни карактер сваки пут када се петља покрене.
Тада ћемо додати знакове заједно у сваки циклус петље и добићемо потребан низ задате дужине.
Генериши случајни алфанумерички низ са специјалним знаковима
Да би се генерисао алфанумерички низ са посебним знаком, најједноставнији начин је сличан ономе о коме смо говорили у горњем примеру. Морамо да додамо бројеве и посебне знакове датој променљивој из које она може да узима случајне вредности.
Али како ће програм насумично бирати ликове, можда постоји шанса да ништа не одабере. Ако излаз вашег програма захтева обавезни специјални знак, то је мало зезнуто. Разговарајмо о програму за генерисање алфанумеричког текста са обавезним посебним знаковима.
Следећи програм ће генерисати 8-цифрени случајно алфанумерички излаз са последње две цифре као посебни знакови.
class Program { public static void Main(string() args) { Random ran = new Random(); String b = 'abcdefghijklmnopqrstuvwxyz0123456789'; String sc = '!@#$%^&*~'; int length = 6; String random = ''; for(int i =0; i Резултат горе наведеног програма биће:
Генерирана случајна абецеда је: 718мзл ~ ^
Објашњење кода
У горњем програму смо користили исту логику коју смо следили у последњем примеру. Заједно са променљивом која садржи алфанумеричке знакове, креирали смо и другу променљиву у низу са посебним знаковима.
Затим смо покренули петљу фор да бисмо генерисали 6-цифрени алфанумерички знак, сличан ономе који смо урадили у претходном проблему. Такође смо написали још једну фор петљу која је генерисала 2 случајна посебна знака из датог низа. Генерисани специјални знакови додани су случајним низом који смо прогласили на почетку програма.
Ово је дало осмоцифрени излаз са 6 алфанумеричких знакова и последња два посебна знака. Направите мало сопственог подешавања да бисте генерисали низове према сопственом захтеву.
Консолидовани програм
class Program { public static void Main(string() args) { Random ran = new Random(); //Output for Random.Next() Console.WriteLine('The random number generated by Random.Next() is: {0}', ran.Next()); //Output for Random.Next(argument) with max value limit Console.WriteLine('The random number generated by Random.Next(argument) is: {0}', ran.Next(10)); //Output for Random.Next(argument1, argument2) with max and min value limit Console.WriteLine('The random number generated by Random.Next(argument1, argument2) is: {0}', ran.Next(10, 100)); String b = 'abcdefghijklmnopqrstuvwxyz0123456789'; String sc = '!@#$%^&*~'; int length = 6; String random = ''; for(int i =0; i Резултат програма
Случајан број који генерише Рандом.Нект () је: 1497664941
Случајан број који генерише Рандом.Нект (аргумент) је: 8
Случајан број који генерише Рандом.Нект (аргумент1, аргумент2) је: 92
Генерирана случајна абецеда је: б173гк # *
Закључак
Класа Рандом присутна је унутар системског простора имена у Ц #.
Има три методе преоптерећења, које омогућавају кориснику да генерише случајни цели број на основу вредности датих кроз аргумент. Случајна класа није савршен начин за генерисање случајне вредности, али је најједноставнији начин да се она постигне.
=> Овде прочитајте водич за почетнике Ц #
Препоручено читање
- Водич за Ц # низ - Методе низања са примерима кода
- Јава Стринг са Стринг бафером и Стринг Буилдер Туториал
- Водич за руковање изузецима за Ц # са примерима кода
- Питхон Стринг функције
- Водич за функције # методе и методе са примерима кода
- Стварање ругалица и шпијуна у Моцкито-у са примерима кода
- Низови у Ц ++ са примерима
- Питхон Стринг Сплит Туториал