c random number c random string generator with code examples
Naučite kako generirati slučajni broj C #, slučajnu abecedu i nasumični niz koji sadrži posebne znakove u ovom informativnom vodiču za C # s primjerima koda:
Postoje scenariji u kojima smo potrebni generiranje slučajnih brojeva, abeceda, znakova itd. Za to imamo klasu Random dostupnu u prostoru imena sustava.
Slučajna klasa omogućuje vam nasumično generiranje cijele vrijednosti. Korištenjem ove slučajne klase može se generirati drugačiji skup brojeva / znakova. O tome ćemo dalje raspravljati u ovom vodiču.
=> Ovdje pogledajte cijelu seriju C # treninga
Što ćete naučiti:
- Kako generirati slučajni cijeli broj u C #?
- Kako generirati nasumične abecede?
- Generiraj slučajni alfanumerički niz s posebnim znakovima
- Zaključak
Kako generirati slučajni cijeli broj u C #?
Slučajna klasa nudi tri metode preopterećenja za generiranje cijelih brojeva na temelju parametra koji pruža korisnik. Pogledajmo sve tri metode.
Korištenje C # Random.Next ()
Sljedeće sadrži tri preopterećenja:
Dalje () Bez argumenta
Prvo preopterećenje za Random.Next () ne zahtijeva nikakav argument. Vraća negativnu cijelu vrijednost.
Primjer:
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(); } }
Rezultat gornjeg programa bit će bilo koja nenegativna slučajna vrijednost:
Izlaz
Generirani slučajni broj je: 157909285
Dalje () S jednim argumentom
Sljedeće preopterećenje za Random.Next () prihvaća jedan argument. Navedeni argument određuje maksimalnu vrijednost koju metoda može generirati. Maksimalna vrijednost trebala bi biti veća ili jednaka nuli. Vraća negativan cijeli broj s maksimalnom vrijednošću kao argument koji daje korisnik.
Primjer:
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(); } }
Izlaz gornjeg programa generirat će cijeli broj veći od nule i manji od maksimalne unijete vrijednosti, tj. 1000.
Izlaz
Slučajni broj koji generira Random.Next (argument) je: 574
otvaranje eps datoteke u sustavu Windows
Dalje () S dva argumenta
Slučajna klasa koristi se za simulaciju slučajnog događaja. Da bismo generirali slučajni znak, koristimo Next (). Next () prihvaća dva argumenta, prvi je minimalna i uključiva vrijednost dopuštena za slučajni generator.
Drugi argument prihvaća maksimalnu ekskluzivnu vrijednost. Maksimalna ekskluzivna vrijednost znači da vrijednost prenesena u drugom argumentu nikada neće biti generirana. Generirana vrijednost uvijek će biti manja od maksimalne vrijednosti.
Pogledajmo jednostavan program:
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(); } }
Izlaz gornjeg programa stvorit će vrijednost između zadanog raspona, tj. Između 10 i 1000 gdje je uključena minimalna vrijednost, tj. 10.
Izlaz
Slučajni broj koji generira Random.Next (minVal, maxVal) je: 137
U gornjem primjeru razgovarali smo o tome kako generirati slučajni cijeli broj. Ali u slučaju da želite generirati slučajnu abecedu, mi ćemo koristiti klasu Random.
Kako generirati nasumične abecede?
Slučajnu abecedu možemo generirati pomoću klase random. Iako klasa Random vraća samo cijeli broj, to možemo koristiti za generiranje slučajnih abeceda.
Najlakši način za to je kombiniranje metode 'ElementAt' s Random.Next () kako bi se ukazalo na položaj slučajne abecede iz niza abeceda.
Primjer:
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 Rezultat gore navedenog programa bit će:
Generirana slučajna abeceda je: icysjd
Objašnjenje koda
Slično našim prethodnim primjerima, ovdje smo stvorili slučajni objekt. Tada smo pohranili sve abecede u niz tj. String b. Definirali smo varijablu koja se naziva 'duljina' cijelog broja koja će označavati broj znakova potreban u nasumično generiranom nizu.
Inicijalizirali smo prazan niz slučajnim odabirom, gdje ćemo pohraniti naše abecede. Tada smo napisali for petlju. Unutar petlje for koristili smo Random.Next () za generiranje slučajnog broja manjeg od 26, jer je broj abeceda koje smo pohranili u String b 26. Možete i druge brojeve, ovisno o zahtjevu.
Stoga će int a imati slučajni broj generiran tijekom svakog ciklusa petlje, a zatim će se taj broj upotrijebiti kao indikator položaja da bi se dobio taj znak pomoću ElementAt (). To će dati slučajni znak svaki put kad se petlja pokrene.
Tada ćemo dodati znakove zajedno u svaki ciklus petlje i dobit ćemo traženi niz zadane duljine.
Generiraj slučajni alfanumerički niz s posebnim znakovima
Da bi se generirao alfanumerički niz s posebnim znakom, najjednostavniji je način sličan onome o kojem smo govorili u gornjem primjeru. Morat ćemo dodati brojeve i posebne znakove datoj varijabli iz koje ona može pokupiti slučajne vrijednosti.
kako dodati cijeli broj u niz u javi
No kako će program nasumično birati likove, može postojati šansa da ništa ne odabere. Ako izlaz vašeg programa zahtijeva obavezni posebni znak, to je pomalo zeznuto. Razgovarajmo o programu za generiranje alfanumeričkog teksta s obveznim posebnim znakovima.
Sljedeći će program generirati 8-znamenkasti slučajno-alfanumerički izlaz s posljednje dvije znamenke kao posebni znakovi.
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 Rezultat gore navedenog programa bit će:
Generirana slučajna abeceda je: 718mzl ~ ^
Objašnjenje koda
U gore navedenom programu koristili smo istu logiku koju smo slijedili u prošlom primjeru. Uz varijablu koja sadrži alfanumeričke znakove, stvorili smo i drugu varijablu niza s posebnim znakovima.
Zatim smo pokrenuli petlju for kako bismo generirali 6-znamenkasti alfanumerički znak, sličan onome koji smo radili u našem prethodnom problemu. Također smo napisali još jednu for petlju koja je generirala 2 slučajna posebna znaka iz zadanog niza. Generirani posebni znakovi dodani su slučajnim nizom koji smo proglasili na početku programa.
Tako je dobiven 8-znamenkasti izlaz sa 6 alfanumeričkih znakova i zadnja dva posebna znaka. Napravite malo vlastitog podešavanja kako biste generirali nizove prema vlastitom zahtjevu.
Konsolidirani program
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 Rezultat programa
Slučajni broj koji generira Random.Next () je: 1497664941
Slučajni broj koji generira Random.Next (argument) je: 8
Slučajni broj koji generira Random.Next (argument1, argument2) je: 92
Generirana slučajna abeceda je: b173gq # *
Zaključak
Klasa Random prisutna je unutar System namespace u C #.
Ima tri metode preopterećenja koje omogućuju korisniku da generira slučajni cijeli broj na temelju vrijednosti danih kroz argument. Slučajna klasa nije savršen način generiranja slučajne vrijednosti, ali je najjednostavniji način da se to postigne.
=> Ovdje pročitajte C # Vodič za početnike
Preporučena literatura
- Vodič za C # - String metode s primjerima koda
- Java string sa String Buffer-om i String Builder Tutorial
- Vodič za rukovanje iznimkama za C # s primjerima koda
- Python string funkcije
- Vodič za funkcije # C / Metode s primjerima koda
- Stvaranje ismijavanja i špijuna u Mockitu s primjerima koda
- Nizovi u C ++ s primjerima
- Vodič za razdvajanje Python Stringa