V tomto příkladu se naučíme generovat náhodný řetězec a alfanumerický náhodný řetězec v Javě.
Abychom porozuměli tomuto příkladu, měli byste znát následující programovací témata Java:
- Řetězec Java
- Java pro smyčku
- Java String charAt ()
Příklad 1: Program Java pro generování náhodného řetězce
import java.util.Random; class Main ( public static void main(String() args) ( // create a string of all characters String alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; // create random string builder StringBuilder sb = new StringBuilder(); // create an object of Random class Random random = new Random(); // specify length of random string int length = 7; for(int i = 0; i < length; i++) ( // generate random index number int index = random.nextInt(alphabet.length()); // get character specified by index // from the string char randomChar = alphabet.charAt(index); // append the character to string builder sb.append(randomChar); ) String randomString = sb.toString(); System.out.println("Random String is: " + randomString); ) )
Výstup
Náhodný řetězec je: IIYOBRK
Ve výše uvedeném příkladu jsme nejprve vytvořili řetězec obsahující všechny abecedy. Dále jsme pomocí nextInt()
metody Random
třídy vygenerovali náhodné číslo indexu .
Pomocí náhodného indexového čísla jsme vygenerovali náhodný znak z řetězcové abecedy. Potom jsme pomocí StringBuilder
třídy spojili všechny postavy dohromady.
Pokud chceme změnit náhodný řetězec na malá písmena, můžeme použít toLowerCase()
metodu String
.
randomString.toLowerCase()
Poznámka : Výstup se bude lišit při každém spuštění programu.
Příklad 2: Program Java pro generování náhodného alfanumerického řetězce
import java.util.Random; class Main ( public static void main(String() args) ( // create a string of uppercase and lowercase characters and numbers String upperAlphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; String lowerAlphabet = "abcdefghijklmnopqrstuvwxyz"; String numbers = "0123456789"; // combine all strings String alphaNumeric = upperAlphabet + lowerAlphabet + numbers; // create random string builder StringBuilder sb = new StringBuilder(); // create an object of Random class Random random = new Random(); // specify length of random string int length = 10; for(int i = 0; i < length; i++) ( // generate random index number int index = random.nextInt(alphaNumeric.length()); // get character specified by index // from the string char randomChar = alphaNumeric.charAt(index); // append the character to string builder sb.append(randomChar); ) String randomString = sb.toString(); System.out.println("Random String is: " + randomString); ) )
Výstup
Náhodný alfanumerický řetězec je: pxg1Uzz9Ju
Zde jsme vytvořili řetězec, který obsahuje čísla od 0 do 9 a abecedy malými a velkými písmeny.
Z řetězce jsme náhodně vygenerovali alfanumerický řetězec o délce 10 .