آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

تابع عدم تکرار

msm  11 سال پیش  11 سال پیش
0 0

سلام دوستان 

تابعی وجود داره که اعدای رو که به صورت تصادفی انتخاب شدند درون یک آرایه قرار دهد و دیگه اون اعداد تکرار نشوند؟

مثلاً اعداد از 0 تا 20 بصورت تصادفی انتخاب شوند ولی هیچ عددی دو بار انتخاب نشود/

 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
nooriDeveloper  11 سال پیش
+1 0

میتونید اول اعداد 0 تا 20 رو تو یه arraylist بریزید، بعد با دستور ()collections.suffle ترتیب اونها رو بهم بریزید مثل کد زیر:

ArrayList<Integer> number = new ArrayList<Integer>();
		for (int i = 1; i <= 20; i++)
			   number.add(i);
		Collections.shuffle(number);
0 0
با این دستور کارم راه نمی افته چون هر سری تعداد اعداد معلوم نیست مثلاً ممکن هست یک سری 20 عدد باشه یک سری 5 عدد. (11 سال پیش)
+1 0
اگه یه خورده دقیق تر و بیشتر در مورد کاری که میخواین انجام بدین، توضیح بدید شاید بهتر بشه کمک کرد. متأسفانه دقیقاً متوجه منظورتون نشدم (11 سال پیش)
پاسخ به سوال 
msm  11 سال پیش
0 0

الان کامل کارم رو توضیح میدم

برنامه به این صورت هست که در یک آرایه استاتیک تعدادی جمله نوشته شده و بعد در هر سری بصورت تصادفی یک عضو از اون آرایه انتخاب می شود میخوام جمله ای رو که یک بار نمایش دادم دیگه تا وقتی که همه جمله ها نشون داده نشدند نشون داده نشه . 

اما نمی خوام که هر باری که کاربر شروع به بازی کرد جمله ها از اول  شروع به نمایش کنند میخوام که هر بار متفاوت باشه امیدوارم که مفهوم رسونده باشم؟ 

+1 0
خوب این که با یه حلقه while و استفاره از دستور بالا به راحتی قابل پیاده سازیه، شما وقتی تو آرایه ترتیب جملات رو بهم ریختید، اون رو از خونه شماره 1 آرایه تا خونه دلخواه پیمایش کنید، من خودم قبلا از این روش تو برنامه خودم برای نشون دادن شانسی و بدون تکرار کلمات به کاربر استفاده کردم تازه هر دفعه به دلخواه کاربر ممکن بود 5 کلمه یا 40 کلمه نمایش داده بشه (11 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .