آموزش Random در جاوا
سلام دوستان در این سری از آموزش برنامه نویسی جاوا به آموزش Random در جاوا می پردازیم برای اینکه یک رشته با کارکتر ها تصادفی ایجاد کنید می توانید از کلاس Random در جاوا استفاده کنید در حالت های مختلفی می توان رشته , اعداد صحیح و اعداد اعشاری را ایجاد کرد در ادامه با ما همراه باشید تا نحوه استفاده از کلاس Random را یاد گیرید.
1 2 3 | import java.util.Random; Random rand = new Random(); int n = rand.nextInt(50) + 1; |
کد بالا یک عدد تصادفی بین تا عدد 50 به ما میدهد علت اضافه کردن عدد یک برای این است تا رینج بین 1 تا 50 باشد.
برای اینکه یک عدد تصادفی اعشاری ایجاد کنیم می توانید از کد زیر استفاده کنید.
1 2 3 4 5 | Random rand = new Random(); double rand_dub1 = rand.nextDouble(); double rand_dub2 = rand.nextDouble(); System.out.println("Random Doubles: "+rand_dub1); System.out.println("Random Doubles: "+rand_dub2); |
کد بالا یک عدد تصادفی اعشاری ایجاد می کند.
حالا شاید بخواهید یک عدد تصادفی شامل اعداد و کارکتر و کاملا Unique ایجاد کنید.
1 2 3 4 5 6 7 8 9 | private static final String ALPHA_NUMERIC_STRING = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; public static String randomAlphaNumeric(int count) { StringBuilder builder = new StringBuilder(); while (count-- != 0) { int character = (int)(Math.random()*ALPHA_NUMERIC_STRING.length()); builder.append(ALPHA_NUMERIC_STRING.charAt(character)); } return builder.toString(); } |
در بالا فقط کافی است یک عدد به ورودی متد ارسال کنید این مقدار طول رشته را مشخص می کند. این کد کاربرد زیاد داره و اینکه اگر بخواهید مثلا توی رشته شما عدد 9 هیچ وقت نباشد کافی است از رشته ALPHA_NUMERIC_STRING مثلا عدد 9 را پاک کنید.
اگر بخواهیم از Random به منظور رمز پیشفرض هرکاربر که عوض می شود استفاده کنیم می توانید از کد زیر استفاده کنید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | static Random r = new Random(); static char[] choices = ("abcdefghijklmnopqrstuvwxyz" + "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + "01234567890" + "$#_").toCharArray(); public static String getSalt(int len) { StringBuilder salt = new StringBuilder(len); for (int i = 0; i<len; ++i) salt.append(choices[r.nextInt(choices.length)]); return salt.toString(); } public static void main(String[]_) { System.out.println(getSalt(32)); } |
کد بالا همانند کد قبلی است از نظر عملکردی با این تفاوت که شامل یکسری کارکتر جدید مثل کوچک و بزرگ و علائم خاص شده است کافی است همانند قبل یک طول به متد ارسال کنید و رشته رو دریافت کنید مثلا خروجی کد بالا با 32 همانند زیر خواهد بود.
1 | vdq5L6bANFIQH_MUyKyZxLcOkJeB3uJ1 |
موفق و پیروز باشید.
با سلام.چطوری دو تا اندیس رشته ای را به صورت Random نمایش داد!!!!